Nginx 绑定到 0.0.0.0:80 失败(13:权限被拒绝)

Que*_*360 1 nginx

我安装nginx-extras是为了使用lua模块。我使用mongroup在我的机器上分组和启动服务。

当我使用此命令运行 nginx 时:

    exec nginx -c "$(pwd)/nginx.conf" -g "daemon off;"
Run Code Online (Sandbox Code Playgroud)

我得到:

    2015/08/21 12:20:03 [debug] 24217#0: bind() 0.0.0.0:80 #5
    2015/08/21 12:20:03 [emerg] 24217#0: bind() to 0.0.0.0:80 failed(13:    Permission denied)
Run Code Online (Sandbox Code Playgroud)

我看过一些帖子说我必须以 root 用户身份启动 nginx 因为只有 root 用户才能使用端口 80。所以我补充说:

    user root;
Run Code Online (Sandbox Code Playgroud)

到我的nginx.conf. 在此之后,没有任何变化,我仍然遇到这个问题。

chi*_*cks 7

您不能以非 root 用户身份打开特权端口 (<=1024)。告诉nginx运行root很好,但它不能root从普通用户本身切换到。你可以在里面运行它sudo以作为 root 启动它。root永远运行它是一个坏主意,所以你应该把一个非特权用户放在那里,这样nginx就可以在不让你的机器更容易受到攻击的情况下运行。