uWSGI+nginx+Django 配置问题求指导

2014-05-28 21:42:58 +08:00
 kkikk
按照http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html 一步一步来的
网站文件在用户kk的目录下
结果到最后一步Emperor mode 出了问题
sudo uwsgi --emperor /etc/uwsgi/vassals --uid www-data --gid www-data
会出现如下"bind(): Permission denied [core/socket.c line 227]"错误
详细信息和uwsgi.ini如下
去掉sudo运行是正常的
已经把kk添加至www-data组
目前在/etc/rc.local里用su - kk -c "XXXX" 解决开机自动运行 但我想知道是哪里的原因导致root运行它会出错
linux新手 如果还需要什么信息可以告诉我
在此先谢谢各位

uwsgi.ini
https://gist.github.com/bebound/c10b0162d51817f7e97a
error log
https://gist.github.com/bebound/a0310cf09c02ca6ffcae
3441 次点击
所在节点    问与答
6 条回复
Livid
2014-05-28 21:45:45 +08:00
如果提示的是 bind() 这个错误的话,看起来像是非 root 用户试图监听小于 1024 的端口。
kkikk
2014-05-28 21:57:14 +08:00
@Livid 感觉不太像是这个原因
sudo 和非 sudo 运行这个命令 "uwsgi --emperor /etc/uwsgi/vassals --uid www-data --gid www-data"会有哪些不同,怎么会导致出现Permission denied错误。。
Livid
2014-05-28 22:00:26 +08:00
@kkikk 你试试把网站的目录从 /home 里挪出来,放到 /www 或者 /srv 试试。
tianyu263
2014-05-28 22:38:07 +08:00
在单个实例运行的情况下,还是尽量不要使用 emperor 模式的吧,直接运行 uwsgi --ini xxxx.ini 就好了,如果是在非 root 用户下现行,而需要 root 的权限,命令的前面加上 sudo 就好了,基本是不会出现这个 bind 没有权限的问题。
kkikk
2014-05-28 22:47:59 +08:00
@Livid 挪到/www里 sudo 和非sudo都运行不了了 全是那个错误 (== www里的网站文件的所有者都是root。。 通过这能分析出点什么吗。。)
@tianyu263 谢谢 恩 目前的确没有必要用emperor 但是就想知道下这个问题是怎么产生的 "uwsgi --ini uwsgi.ini"这条root和kk都能运行,结果emperor就只能以kk运行了 求分析
RIcter
2014-05-29 09:23:29 +08:00
开机运行用crontab吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/114773

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX