在远程 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号端口,我还是建议问问服务商这个端口是否对全球开放。

我的端口被关闭了。因此,我遇到过这样的问题。