我一直在反对使用Ubuntu 16.04部署在Apache服务器上的应用程序。我认为可能是我网站中的配置错误问题,因此只需部署测试应用test_app
并按照Django documentation上的基本说明进行操作,以及我在{{}}中插入的内容{1}}:
/etc/apache2/sites-available/000-default.conf
而且,我无法在WSGIScriptAlias / /var/www/html/python/test_app/test_app/wsgi.py
#WSGIPythonHome /var/www/html/python/test_app/venv
#WSGIPythonPath /var/www/html/python/test_app
Alias /static/ /var/www/html/python/test_app/static/
<Directory /var/www/html/python/test_app/static>
Order allow,deny
Allow from all
Require all granted
</Directory>
<Directory /var/www/html/python/test_app/test_app>
<Files wsgi.py>
Order allow,deny
Allow from all
Require all granted
</Files>
</Directory>
上看到任何内容。我正在进行配置吗?
以下是日志中生成的错误:
localhost
答案 0 :(得分:0)
所以,最后......我想通了!谢谢你的帮助。
正如我在错误日志中的第一行所说:
'/var/www/html/python/test_app/test_app/wsgi.py' cannot be loaded as Python module.
这意味着Apache模块无法访问wsgi.py
。我在这里搜索了它并获得了solution。
所以,在我的wsgi.py
中,我添加了这个:
import os, sys
from django.core.wsgi import get_wsgi_application
sys.path.append('/var/www/html/python/test_app')
并且有效。
答案 1 :(得分:0)
<VirtualHost *:80>
ServerName programmerlab.com # this ll be your domain name
WSGIDaemonProcess programmerlab.com python-path=/var/www/html/gautam.tech:/var/www/html/programmerlab.com/env/lib/python3.6/site-packages
WSGIProcessGroup programmerlab.com
#Your static files location
Alias /static /var/www/html/programmerlab.com/portfolio/static
<Directory /var/www/html/programmerlab.com/portfolio/static>
Require all granted
</Directory>
<LocationMatch "\.(jpg|gif|png|js|css)$">
SetHandler None
</LocationMatch>
WSGIScriptAlias / /var/www/html/programmerlab.com/myproject/wsgi.py
DocumentRoot /var/www/html/programmerlab.com
<Directory /var/www/html/programmerlab.com/myproject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
要了解python路径,只需键入
哪个python
在终端上。
此虚拟主机设置已经过全面测试,可以确保正常工作。