我正在尝试使用Nginx uwsgi部署Django应用程序.
我创建了一个虚拟环境(virtualenv),并在虚拟环境中安装了uwsgi和Django(即本地到虚拟环境).我没有全球Django和uwsgi.当我运行uwsgi –ini project.ini时,我遇到了一个’ImportError:没有名为django.core.wsgi的模块’异常:
from django.core.wsgi import get_wsgi_application
ImportError: No module named django.core.wsgi
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
*** uWsgi is running in multiple interpreter mode ***
spawned uWsgi master process (pid: 5987)
spawned uWsgi worker 1 (pid: 5988, cores: 1)
spawned uWsgi worker 2 (pid: 5989, cores: 1)
spawned uWsgi worker 3 (pid: 5990, cores: 1)
spawned uWsgi worker 4 (pid: 5991, cores: 1)
根据我的搜索,如果您使用的是Django1.5或更低版本,建议将env和pythonpath变量放在ini中.但是,我使用的是Django 1.7,所以我不再放置它们了.这是我的project.ini:
#project.ini file
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /root/virtualenv/project
# Django wsgi file
module = project.wsgi:application
# the virtualenv (full path)
home = /root/virtualenv
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 4
# the socket (use the full path to be safe
socket = /root/virtualenv/project/project.sock
# ... with appropriate permissions - may be needed
chmod-socket = 666
chown-socket = root:root
# clear environment on exit
vacuum = true
# other config options
uid = root
gid = root
processes = 4
daemonize = /var/log/uwsgi/project.log
no-site = True
我该如何解决这个问题?我已经坚持了一天了.
任何想法都非常感谢.
提前致谢!
解决方法:
你的模块指向你的项目,不应该指向你的项目主应用程序,它可以找到wsgi文件?
所以我的INI文件看起来像这样.
在我的特殊情况下,我使用的是虚拟环境,django 1.7和uwsgi.
vhost = true
plugins = python
socket = /tmp/noobmusic.sock
master = true
enable-threads = true
processes = 2
wsgi-file = /home/myname/webapps/music/music/music/wsgi.py
virtualenv = /home/myname/webapps/music/musicenv/
chdir = /home/myname/webapps/music/music/
这是我设置uwsgi的唯一网站,因为我通常使用mod-wsgi而且遗憾的是不记得所有步骤.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。