繁体   English   中英

无法在Apache(mod_wsgi)上部署官方Django教程

[英]Cannot deploy Official Django tutorial on Apache (mod_wsgi)

我知道这个问题似乎已经被问过很多次了,但是现在我已经浪费了48个小时,尝试其他答案提供的各种方法,而且似乎无法将django官方教程部署到我的本地Apache网络服务器上(Ubuntu上的Apache 2.4 18.04,Python 3.6.5)。 这就是我所做的。

我创建了一个virtualenv

virtualenv outlier
cd outlier
pip3 install django
django-admin startproject mysite

我创建了我的应用,并安装了适合我的python版本的mod_wsgi版本(我尝试了apt installsetup.py install方法)。

然后我将/etc/apache2/sites-enabled/000-default.conf配置如下:

LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so

<VirtualHost *:80>
        LogLevel info
        DocumentRoot /srv/outlier
        ServerName outlier.tuhao
        WSGIDaemonProcess outlier user=www-data group=www-data python-path="/srv/outlier" python-home="/srv/outlier/lib/python3.6/site-packages"
        WSGIProcessGroup outlier
        WSGIScriptAlias / /srv/outlier/outlier/wsgi.py

        <Directory /srv/outlier>
                Require all granted
        </Directory>
</VirtualHost>

可以肯定的是,我还做了一个sudo chown -R www-data:www-data /srv/和一个sudo chmod -R 777 /srv/以避免任何权限叮当声。

并使用sudo service apache2 restart重启了apache。 不幸的是,重新启动后,apache日志立即开始不断地向以下内容发送垃圾邮件:

当前线程0x00007faa78e0abc0(最近一次调用在前):[Mon Jun 04 15:34:55.664080 2018] [core:notice] [pid 1932] AH00051:child pid 5058 exit signal Aborted(6),可能在/ etc / apache2中发生coredump致命Python错误:Py_Initialize:无法获取区域设置编码ModuleNotFoundError:没有名为“ encodings”的模块

我应该先问一个问题(也许无需发布),因为我总是在不久之后找到解决方案。

这行代码: WSGIDaemonProcess outlier user=www-data group=www-data python-path="/srv/outlier" python-home="/srv/outlier/lib/python3.6/site-packages"

需要成为这一行: WSGIDaemonProcess outlier user=www-data group=www-data python-path="/srv/outlier" python-home="/srv/outlier"

我发誓以前尝试过失败,但是在那个阶段可能还有其他不正确的地方。

我将在此处为其他可能来自本教程的其他人留下问题并回答,而不知道下一步该怎么做。 或者管理员可以根据需要删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM