我在这里找到了这个错误的答案:mod_wsgi: ImportError: No module named 'encodings'
而且由于没有设置权限,我似乎得到了这个错误。但对我来说,看起来所有权限都设置正确
这是我的文件结构:
home
└── user
└── projects
└── myapp
├── app
│ ├── <All Code for Webapp including static dir>
├── env (virtualenv)
├── manage.py
├── new
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── requirements.txt
这是位于/etc/httpd/conf.d中的wsgi.conf文件
Alias /static /home/user/projects/myapp/app/static
<Directory /home/user/projects/myapp/app/static>
Require all granted
</Directory>
<Directory /home/user/projects/myapp/new>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myapp python-path=/home/user/projects/myapp python-home=/home/user/projects/,myapp/env/lib/python3.6/site-packages user=<user>
WSGIProcessGroup myapp
WSGIScriptAlias / /home/user/projects/myapp/new/wsgi.py
现在这是当我在我的主目录中时权限所说的:
/家
$ ls -l
total 0
drwxrwxr-x. 5 <user> <group> 41 Mar 7 14:53 project
这个权限与项目相同,现在我获取myapp目录时的权限如下:
/ home / user中/ MYAPP
drwxrwxr-x. 7 <user> <group> 4096 Mar 7 13:18 app
drwxrwxr-x. 5 <user> <group> 56 Mar 7 14:42 env
-rwxrwxr-x. 1 <user> <group> 535 Mar 5 13:33 manage.py
drwxrwxr-x. 3 <user> <group> 110 Mar 7 14:27 new
-rw-rw-r--. 1 <user> <group> 869 Mar 7 14:42 requirements.txt
以及wsgi.py文件所在的权限(在new下)是:
/ home / user中/ MyApp的/新
-rw-rw-r--. 1 <user> <group> 0 Mar 5 13:33 debug.log
-rw-rw-r--. 1 <user> <group> 0 Mar 5 13:33 __init__.py
drwxrwxr-x. 2 <user> <group> 122 Mar 9 03:00 __pycache__
-rw-rw-r--. 1 <user> <group> 5442 Mar 8 10:17 settings.py
-rw-rw-r--. 1 <user> <group> 790 Mar 5 13:33 urls.py
-rw-rw-r--. 1 <user> <group> 383 Mar 5 13:33 wsgi.py
这些是使用apache运行mod_wsgi时的正确权限吗?
注意:上面的用户和组是相同的,是我的名字
检查用于配置mod_wsgi的python版本以及针对您编译的项目(虚拟环境),当它们不同时我收到此错误。