Plo*_*man 2 python apache django mod-wsgi ubuntu-16.04
运行django和apache2 / mod_wsgi的问题。我不断收到500 Internal Server Error。我已经尝试了许多修复程序的组合,但没有奏效。任何帮助是极大的赞赏。这是我的设置:
Ubuntu 16.04
django 1.10.5
apache 2.4.18
python 3.4(virtualenv)
libapache2-mod-wsgi-py3
Run Code Online (Sandbox Code Playgroud)
我的文件夹结构是:
/home/user/site/venv (virtualenv folder)
bin
include
lib
/home/user/site/mysite
|- manage.py
static
mysite
|__init__.py
|settings.py
|urls.py
|wsgi.py
Run Code Online (Sandbox Code Playgroud)
site.conf
<VirtualHost *:80>
WSGIDaemonProcess myproject python-home=/home/user/site/venv python-path=/home/user/site/mysite
WSGIProcessGroup myproject
WSGIScriptAlias / /home/user/site/mysite/mysite/wsgi.py
Alias /static /home/user/site/mysite/static
<Directory /home/user/site/mysite/static>
Require all granted
</Directory>
<Directory /home/user/site/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)
apache2 / error.log
[mpm_event:notice] [pid 8908:tid 140560009164672] AH00491: caught SIGTERM, shutting down
[wsgi:warn] [pid 9047:tid 139761898837888] mod_wsgi: Compiled for Python/3.5.1+.
[wsgi:warn] [pid 9047:tid 139761898837888] mod_wsgi: Runtime using Python/3.5.2.
[mpm_event:notice] [pid 9047:tid 139761898837888] AH00489: Apache/2.4.18 (Ubuntu) mod_wsgi/4.3.0 Python/3.5.2 configured -- resuming normal operations
[core:notice] [pid 9047:tid 139761898837888] AH00094: Command line: '/usr/sbin/apache2'
[wsgi:error] [pid 9049:tid 139761776183040] mod_wsgi (pid=9049): Target WSGI script '/home/user/site/mysite/mysite/wsgi.py' cannot be loaded as Python module.
[wsgi:error] [pid 9049:tid 139761776183040] mod_wsgi (pid=9049): Exception occurred processing WSGI script '/home/user/site/mysite/mysite/wsgi.py'.
[wsgi:error] [pid 9049:tid 139761776183040] Traceback (most recent call last):
[wsgi:error] [pid 9049:tid 139761776183040] File "/home/user/site/mysite/mysite/wsgi.py", line 12, in <module>
[wsgi:error] [pid 9049:tid 139761776183040] from django.core.wsgi import get_wsgi_application
[wsgi:error] [pid 9049:tid 139761776183040] ImportError: No module named 'django'
Run Code Online (Sandbox Code Playgroud)
我已授予以下文件夹的权限:
sudo chown -R www-data:www-data /home/user/site/venv
sudo chown -R www-data:www-data /home/user/site/mysite
Run Code Online (Sandbox Code Playgroud)
我想感谢您的任何帮助或批评。
因此,在激烈的头部撞墙之后。事实证明,我需要针对正在使用的python版本编译自己的mod_wsgi。我正在使用ubuntu libapache2-mod-wsgi-py3的标准存储库,该库已编译为与python3.5.2一起使用,如在error.log中所示。
我去这里获取最新版本:mod_wsgi_releases
一定要使用
.configure --with-python=/your/virtualenv/bin/python(your python_verion here)
| 归档时间: |
|
| 查看次数: |
9951 次 |
| 最近记录: |