0

我有一个 Linux 服务器(Ubuntu)并且正在尝试设置 apache,但该服务器没有运行我的实际 Django 服务器,而是运行 var/www/html 中的 html 文件。跑步

sudo systemctl reload apache2

工作正常,所以我认为问题涉及 /etc/apache2/sites-available/ 中名为 infosum.conf 的 .conf 文件。

这是针对新的 Linux 服务器 (Ubuntu)。该项目正在运行带有 mod-wsgi 的 python3 Django 2.2 和 apache 2.4。跑步时

python manage.py runserver 0.0.0.0:8000

,服务器工作正常,但在 apache 服务器上时它只返回该 HTML 文件。

/etc/apache2/sites-available/infosum.conf(infosum 是项目名称)

Alias /static/ /home/username/infosum/staticfiles
<Directory /home/username/infosum/staticfiles>
    Require all granted
</Directory>
Alias /media/ /home/username/infosum/media/
<Directory /home/username/infosum/media>
    Require all granted
</Directory>
<Directory /home/username/infosum/infosum>
     <Files wsgi.py>
           Require all granted
      </Files>
</Directory>
WSGIScriptAlias / /home/username/infosum/infosum/wsgi.py
WSGIDaemonProcess django_app python-path=/home/username/infosum python-home=/home/username/infosum/venv
        WSGIProcessGroup django_app

/home/用户名/infosum/infosum/wsgi.py

import os
import sys
sys.path.append('/home/username/infosum/infosum')

# add the virtualenv site-packages path to the sys.path
sys.path.append('/home/username/infosum/venv/Lib/site-packages')
from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'infosum.settings')

application = get_wsgi_application()

更新:我刚跑

sudo a2ensite infosum

我认为它可以让网站正常运行。一个问题,有一个500服务器错误和运行时

sudo tail -f /var/log/apache2/error.log

我明白了

ImportError: No module named django.core.wsgi
4

1 回答 1

0

好,我知道了。首先我跑了

a2ensite /etc/apache2/sitesavailable/infosum

并更新了 wsgi.py 文件

sys.path.append('/home/username/infosum/venv/Lib/site-packages')

sys.path.append('/home/username/infosum/venv/lib/python3.7/site-packages')
于 2019-07-02T21:19:18.200 回答