我尝试使用此文档配置 uWsgi、Django、Nginx:http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html
完成配置uwsgi.ini
文件,创建一个软链接/etc/uwsgi/vassals
.
最后一步失败:让uWSGI在系统启动时启动.
当运行此命令时:
sudo /usr/local/bin/uwsgi --emperor /etc/uwsgi/vassals --uid www-data --gid www-data
我收到这个错误:
clock source: unix
detected number of CPU cores: 1
current working directory: /etc/uwsgi/vassals
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
your processes number limit is 3813
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
bind(): Permission denied [core/socket.c line 227]
Tue May 27 05:29:26 2014 - [emperor] curse the uwsgi instance uwsgi.ini (pid: 1391)
Tue May 27 05:29:29 2014 - [emperor] removed uwsgi instance uwsgi.ini
如果我运行这个命令而不sudo
, 一切都好。
我已将用户“kk”添加到“www-data”组中,这是uwsgi.ini
[uwsgi]
chdir = /home/kk/XXXXXXX
module = wsgi
home = /home/kk/XXXXXXX
master = true
processes = 10
socket = /home/kk/XXXXXXX/mysite.sock
chmod-socket = 666
vacuum = true
我想也许我在文件权限上犯了错误。有人有好主意吗?谢谢。
Update:
官方文档是正确的,我按照步骤将项目部署在另一个新的VPS上,没有出现错误。
我不知道为什么权限不起作用,但我遇到了同样的问题。
解决此问题的一种快速方法是将套接字移至 /tmp! (无论如何,这是一个相当合理的保存套接字的地方......)
所以只需更新 uwsgi 配置:
socket = /tmp/mysite.sock
以及 nginx-config:
upstream django {
server unix:///tmp/mysite.sock;
}
它将开始工作!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)