nginx 只在虚拟主机上下载文件

nginx 只在虚拟主机上下载文件

我正在尝试将我的本地环境移植到 Mac 上以使用 nginx

从我首先得到的日志中[emerg] 9449#0: bind() to 0.0.0.0:80 failed (13: Permission denied) ,但运行sudo nginx解决了这个问题

现在如果我输入地址http://njsphp.dev,它只会下载一个文件?

在conf中我设置了一个虚拟主机,并且我把名字放在了主办方文件

server{
    listen       80;
    listen     njsphp.dev;

    server_name njsphp.dev;
    root /Users/redres/Webdev/nodejsphp;
    index index.phtml index.htm;
         location / {
        }
}

谢谢

答案1

仅允许 root 绑定 <1024 端口。检查您是以普通用户、www-data 用户还是 root 身份运行 nginx。Nginx 有放弃特权的机制来执行此操作。您以 root 身份运行它,nginx 绑定到 80,然后将特权放弃给配置中指向的用户。

更新:

当然,授予 root/admin 权限只是一种方法。您可以使用selinuxCAP_NET_ADMINLinux 功能仅允许访问 1024 以下的绑定端口,而不允许访问其他端口。

相关内容