使用Apache和mod_wsgi部署Django 2.1会导致超时

时间:2018-10-14 09:08:03

标签: python django apache2 mod-wsgi

我真的很想尝试让我的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

0 个答案:

没有答案