我真的很想尝试让我的Django-App 2.1(Python3)与Apache2和mod_wsgi一起使用。 也许这里有好人可以帮我吗?
我不得不将80和443的VHost放在一个文件中,因为certbot仅使用VHost进行复制和粘贴,并且由于需要独特的WSGI流程命名等而导致错误。
这是我的VHost(apache2 configtest都很好):
WSGIDaemonProcess my.domain.co processes=2 threads=15 display-name=%{GROUP} python-home=/var/www/site/project/venv/lib/python3.6
WSGIProcessGroup my.domain.co
WSGIScriptAlias / /var/www/site/project/wsgi.py
<VirtualHost *:80>
ServerName my.domain.co
DocumentRoot /var/www/site
<directory /var/www/site>
AllowOverride all
Require all granted
Options FollowSymlinks
</directory>
Alias /static/ /var/www/site/static/
<Directory /var/www/site/static>
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =my.domain.co
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName my.domain.co
DocumentRoot /var/www/site
<directory /var/www/site>
AllowOverride all
Require all granted
Options FollowSymlinks
</directory>
Alias /static/ /var/www/site/project/
<Directory /var/www/site/static>
Require all granted
</Directory>
SSLCertificateFile ...
SSLCertificateKeyFile ...
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
我的项目结构显然是: / var / www / site作为venv所在的主目录,并创建了django-project。项目目录包含wsgi.py和settings.py。
因此,当我尝试打开自己的网站时,我遇到了超时错误。 在执行操作时:python3 manage.py runserver 127.0.0.1:8080并在其上放置反向代理,它可以工作-但是那当然不是它应该如何工作的。
有人知道我错过了什么吗? :/
非常感谢您的帮助!
编辑:
日志:
Current thread 0x00007f8064915bc0 (most recent call first):
[Sun Oct 14 06:28:55.988638 2018] [core:notice] [pid 47497] AH00051: child pid 36608 exit signal Aborted (6), possible coredump in /etc/apache2
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'
错误:
524