问题描述
我正在尝试使用Apache和mod_wsgi设置Django项目,但无法正常工作。搜索了所有答案,但没有任何帮助。
-
python-home=/var/www/example.com/venv
-
python-path=/var/www/example.com/myproject
-
wsgi.py
-/var/www/example.com/myproject/myproject/
的位置
这是我的Apache配置。
Protocols h2 http/1.1
WsgiApplicationGroup %{GLOBAL}
WsgiDaemonProcess example python-home=/var/www/example.com/venv python-path=/var/www/example.com/myproject
<VirtualHost *:80>
ServerAdmin [email protected]
ServerAlias www.example.com
ServerName example.com
DocumentRoot /var/www/example.com/myproject/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/example.com/myproject/myproject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Alias /favicon.ico /var/www/example.com/myproject/static/images/favicon/favicon.ico
Alias /static /var/www/example.com/myproject/static
<Directory /var/www/example.com/myproject/static>
Require all granted
</Directory>
WsgiProcessGroup example
WsgiScriptAlias / /var/www/example.com/myproject/myproject/wsgi.py
RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
这是错误。
[28] [mpm_prefork:notice] [pid 959] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1g mod_wsgi/4.5.17 Python/3.6 configured -- resuming normal operations
[53] [core:notice] [pid 959] AH00094: Command line: '/usr/sbin/apache2'
[03] [wsgi:error] [pid 969] [remote 1.2.3.4:58356] mod_wsgi (pid=969): Target Wsgi script '/var/www/example.com/myproject/myproject/wsgi.py' cannot be loaded as Python module.
[08] [wsgi:error] [pid 969] [remote 1.2.3.4:58356] mod_wsgi (pid=969): Exception occurred processing Wsgi script '/var/www/example.com/myproject/myproject/wsgi.py'.
[32] [wsgi:error] [pid 969] [remote 1.2.3.4:58356] Traceback (most recent call last):
[79] [wsgi:error] [pid 969] [remote 1.2.3.4:58356] File "/var/www/example.com/myproject/myproject/wsgi.py",line 12,in <module>
[87] [wsgi:error] [pid 969] [remote 1.2.3.4:58356] from django.core.wsgi import get_wsgi_application
[04] [wsgi:error] [pid 969] [remote 1.2.3.4:58356] ModuleNotFoundError: No module named 'django'
我尝试过的事情的清单
- 使用
sudo apt-get install libapache2-mod-wsgi-py3
为py3编译经过验证的mod_wsgi。系统中没有其他mod_wsgi(ubuntu 18)。 - venv是使用python 3(3.9)创建的,并且所有模块都是从
myproject/requirements.txt
安装的。 - 激活了
venv
,并验证了Django通过迁移是否可以正常工作。
我在做什么错?从早上开始我一直在尝试这种方法,但我选择不了。请帮忙。
其他信息:
- 我的ubuntu有3个python版本。默认的Python 2,Python 3.6和Python 3.9(我创建了
venv
)。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)