[英]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 install
和setup.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.