在远程 Ubuntu 服务器上使用 Apache 和 mod_wsgi 部署 Django
Deployment Django using Apache and mod_wsgi on Remote Ubuntu Server
我正在尝试在 IP 地址为 my.rm.ip.ad 的远程 Ubuntu 服务器上部署我的 Django 项目。服务器上的项目位于路径 /path/to/project。我配置了 ports.conf、hosts、wsgi.py(我的 Django 项目)并在 sites-available 目录下添加了一个名为 "mywebsite" 的网站,并按如下方式启用它。
但是,当我尝试连接到 my.rm.ip.ad:80 时,我得到 "connection refused error"。由于80端口看起来是开放的,所以我想问一下,我哪里错了?
提前致谢。
这是我的 /etc/apache2/ports.conf 文件:
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
还有我的 /etc/apache2/sites-available/mysite.conf 文件:
<VirtualHost my.rm.ip.ad:80>
ServerAdmin admin@mysite.com
ServerName my.rm.ip.ad
ServerAlias http://my.rm.ip.ad
<Directory /path/to/project/ >
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /path/to/project/foo/foo/wsgi.py
WSGIDaemonProcess my.rm.ip.ad user=www-data group=www-data threads=25 python-path=/path/to/project/foo/foo/:/usr
WSGIProcessGroup my.rm.ip.ad
ErrorLog /path/to/project/foo/foo/error.log
</VirtualHost>
并且我在 /etc/hosts 文件中添加了以下行:
my.rm.ip.ad my.rm.ip.ad
最后,这是我的 Django 项目的 wsgi.py 文件:
import os
import sys
sys.path.append('/path/to/project')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我哪里错了?
再次感谢。
遇到同样问题的朋友,即使看起来是监听80号端口,我还是建议问问服务商这个端口是否对全球开放。
我的端口被关闭了。因此,我遇到过这样的问题。
我正在尝试在 IP 地址为 my.rm.ip.ad 的远程 Ubuntu 服务器上部署我的 Django 项目。服务器上的项目位于路径 /path/to/project。我配置了 ports.conf、hosts、wsgi.py(我的 Django 项目)并在 sites-available 目录下添加了一个名为 "mywebsite" 的网站,并按如下方式启用它。
但是,当我尝试连接到 my.rm.ip.ad:80 时,我得到 "connection refused error"。由于80端口看起来是开放的,所以我想问一下,我哪里错了?
提前致谢。
这是我的 /etc/apache2/ports.conf 文件:
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
还有我的 /etc/apache2/sites-available/mysite.conf 文件:
<VirtualHost my.rm.ip.ad:80>
ServerAdmin admin@mysite.com
ServerName my.rm.ip.ad
ServerAlias http://my.rm.ip.ad
<Directory /path/to/project/ >
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /path/to/project/foo/foo/wsgi.py
WSGIDaemonProcess my.rm.ip.ad user=www-data group=www-data threads=25 python-path=/path/to/project/foo/foo/:/usr
WSGIProcessGroup my.rm.ip.ad
ErrorLog /path/to/project/foo/foo/error.log
</VirtualHost>
并且我在 /etc/hosts 文件中添加了以下行:
my.rm.ip.ad my.rm.ip.ad
最后,这是我的 Django 项目的 wsgi.py 文件:
import os
import sys
sys.path.append('/path/to/project')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我哪里错了?
再次感谢。
遇到同样问题的朋友,即使看起来是监听80号端口,我还是建议问问服务商这个端口是否对全球开放。
我的端口被关闭了。因此,我遇到过这样的问题。