kkikk
V2EX  ›  问与答

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

  •  
  •   kkikk · May 28, 2014 · 4067 views
    This topic created in 4459 days ago, the information mentioned may be changed or developed.
    按照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 replies    2014-05-29 09:23:29 +08:00
    Livid
        1
    Livid  
    MOD
    PRO
       May 28, 2014   ❤️ 1
    如果提示的是 bind() 这个错误的话,看起来像是非 root 用户试图监听小于 1024 的端口。
    kkikk
        2
    kkikk  
    OP
       May 28, 2014
    @Livid 感觉不太像是这个原因
    sudo 和非 sudo 运行这个命令 "uwsgi --emperor /etc/uwsgi/vassals --uid www-data --gid www-data"会有哪些不同,怎么会导致出现Permission denied错误。。
    Livid
        3
    Livid  
    MOD
    PRO
       May 28, 2014
    @kkikk 你试试把网站的目录从 /home 里挪出来,放到 /www 或者 /srv 试试。
    tianyu263
        4
    tianyu263  
       May 28, 2014   ❤️ 1
    在单个实例运行的情况下,还是尽量不要使用 emperor 模式的吧,直接运行 uwsgi --ini xxxx.ini 就好了,如果是在非 root 用户下现行,而需要 root 的权限,命令的前面加上 sudo 就好了,基本是不会出现这个 bind 没有权限的问题。
    kkikk
        5
    kkikk  
    OP
       May 28, 2014
    @Livid 挪到/www里 sudo 和非sudo都运行不了了 全是那个错误 (== www里的网站文件的所有者都是root。。 通过这能分析出点什么吗。。)
    @tianyu263 谢谢 恩 目前的确没有必要用emperor 但是就想知道下这个问题是怎么产生的 "uwsgi --ini uwsgi.ini"这条root和kk都能运行,结果emperor就只能以kk运行了 求分析
    RIcter
        6
    RIcter  
       May 29, 2014 via iPad
    开机运行用crontab吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5907 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 03:09 · PVG 11:09 · LAX 20:09 · JFK 23:09
    ♥ Do have faith in what you're doing.