V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
kkikk
V2EX  ›  问与答

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

  •  
  •   kkikk · 2014-05-28 21:42:58 +08:00 · 3496 次点击
    这是一个创建于 3833 天前的主题,其中的信息可能已经有所发展或是发生改变。
    按照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

    error log
    6 条回复    2014-05-29 09:23:29 +08:00
    Livid
        1
    Livid  
    MOD
       2014-05-28 21:45:45 +08:00   ❤️ 1
    如果提示的是 bind() 这个错误的话,看起来像是非 root 用户试图监听小于 1024 的端口。
    kkikk
        2
    kkikk  
    OP
       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
        3
    Livid  
    MOD
       2014-05-28 22:00:26 +08:00
    @kkikk 你试试把网站的目录从 /home 里挪出来,放到 /www 或者 /srv 试试。
    tianyu263
        4
    tianyu263  
       2014-05-28 22:38:07 +08:00   ❤️ 1
    在单个实例运行的情况下,还是尽量不要使用 emperor 模式的吧,直接运行 uwsgi --ini xxxx.ini 就好了,如果是在非 root 用户下现行,而需要 root 的权限,命令的前面加上 sudo 就好了,基本是不会出现这个 bind 没有权限的问题。
    kkikk
        5
    kkikk  
    OP
       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
        6
    RIcter  
       2014-05-29 09:23:29 +08:00 via iPad
    开机运行用crontab吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   907 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:44 · PVG 04:44 · LAX 12:44 · JFK 15:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.