部署Django程序后
#项目位置
chdir = /www/wwwroot/testink
module = testink.wsgi
#在根目录 /www/wwwroot/testink
uwsgi --http :18883 --file testink/wsgi.py --static-map=/static=static
以上运行是正常的.
配置[uwsgi]的ini位置 /www/wwwroot/testink/uwsgi.ini
#运行以下
uwsgi --ini /www/wwwroot/testink/uwsgi.ini
#会出现这个错误
from django.core.wsgi import get_wsgi_application
ModuleNotFoundError: No module named 'django'
网上找到两种方案:
- 1.使用了virtualenv,在我们uwsgi.ini文件中进行修改,指定我们虚拟环境home即可,如下:
home = /root/.virtualenvs/env_xadmin
- 2.wsgi.py里面打印sys.path发现是因为path里面并没有包含该安装的site-packages的路径,因此在wsgi.py添加如下语句
import sys
import os
print(sys.path)
sys.path.append('/anaconda3/lib/python3.6/site-packages')
我的情况是第二种.