在 Centos 上的 Apache 2.4.6 中运行的 Django 网站出现 503 服务器错误

在 Centos 上的 Apache 2.4.6 中运行的 Django 网站出现 503 服务器错误

请帮忙。我有一个 Django 网站,我正在尝试配置它以使用 mod_wsgi 在 apache 中运行。我已按如下方式设置虚拟主机:

<virtualhost *:80>

        ServerName mysite.com
        ServerAlias mysite.com

        Alias /static/my_site/ /opt/mysitepath/mysite/static/my_site/
        WSGIDaemonProcess my_site python-home=/usr/local/virtualenvironment python-path=/opt/mysitepath processes=2 threads=1
        WSGIProcessGroup my_site
        WSGIScriptAlias / /opt/mysitepath/mysite/wsgi.py process-group=my_site
        <Directory /opt/mysitepath/mysite/static/my_site>
                Require all granted
        </Directory>

        <Directory /opt/mysitepath/mysite>
                <Files wsgi.py>
                        Require all granted
                </Files>
        </Directory>
        LogLevel info
        ErrorLog logs/mysite.com_log
</virtualhost>

当我启动 Apache 时看到的明显问题如下:

AH00558:httpd:无法使用 ::1 可靠地确定服务器的完全限定域名。全局设置“ServerName”指令以隐藏此消息 [2018 年 4 月 20 日星期五 04:42:27.900968] [auth_digest:notice] [pid 1206] AH01757:生成摘要式身份验证的机密... [2018 年 4 月 20 日星期五 04:42:27.901742] [lbmethod_heartbeat:notice] [pid 1206] AH02282:没有来自 mod_heartmonitor 的 slotmem [2018 年 4 月 20 日星期五 04:42:27.997621] [:warn] [pid 1206] mod_wsgi:针对 Python/3.4.0 编译。 [2018 年 4 月 20 日星期五 04:42:27.997647] [:warn] [pid 1206] mod_wsgi:运行时使用 Python/3.4.5。[2018 年 4 月 20 日星期五 04:42:27.997681] [:alert] [pid 1206] (2)没有此类文件或目录:mod_wsgi (pid=1206):无法绑定 unix 域套接字“/var/run/apache2/wsgi.1206.0.1.sock”。 [2018 年 4 月 20 日星期五 04:42:28.005204] [mpm_prefork:notice] [pid 1206] AH00163:Apache/2.4.6 (CentOS) PHP/5.6.31 SVN/1.7.14 mod_wsgi/3.4 Python/3.4.5 已配置 - 恢复正常操作

当我通过浏览器访问该网站时,我得到了

503服务不可用

知道为什么 apache 无法绑定到 mod_wsgi 应该监听的套接字吗?我怎样才能让我的网站正确加载?

提前致谢!

答案1

似乎我必须在我的虚拟主机中添加一个条目

WSGISocketPrefix /var/run/wsgi

我的虚拟主机现在如下所示:

WSGISocketPrefix /var/run/wsgi
<virtualhost *:80>

        ServerName mysite.com
        ServerAlias mysite.com

        Alias /static/my_site/ /opt/mysitepath/mysite/static/my_site/
        WSGIDaemonProcess my_site python-home=/usr/local/virtualenvironment python-path=/opt/mysitepath processes=2 threads=1
        WSGIProcessGroup my_site
        WSGIScriptAlias / /opt/mysitepath/mysite/wsgi.py process-group=my_site
        <Directory /opt/mysitepath/mysite/static/my_site>
                Require all granted
        </Directory>

        <Directory /opt/mysitepath/mysite>
                <Files wsgi.py>
                        Require all granted
                </Files>
        </Directory>
        LogLevel info
        ErrorLog logs/mysite.com_log
</virtualhost>

相关内容