【nginx】如何实现使用普通用户(非root)启动nginx master进程

【nginx】如何实现使用普通用户(非root)启动nginx master进程,第1张

#   setcap 'cap_net_bind_service=+ep' /path/to/program

How to run a server on port 80 as a normal user on Linux?

https://serverfault.com/questions/112795/how-to-run-a-server-on-port-80-as-a-normal-user-on-linux

Is there a way for non-root processes to bind to "privileged" ports on Linux?

https://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-on-linux

setcap(8) — Linux manual page

https://man7.org/linux/man-pages/man8/setcap.8.html

有时候当Nginx读取本地目录时会收到403错误,权限问题。

先来了解一下Nginx的用户管理,Nginx在以Linux service脚本启动时,通过start-stop-domain启动,会以root权限运行daemon进程

然后daemon进程读取/etc/nginx/nginx.conf文件中的user配置选项,默认这里的user=nginx

也就是用nginx用户启动worker process。403错误就是因为nginx用户没有权限访问我当前开发用的用户目录,/home/dean/work/resources。

解决方法是将user=nginx替换成root,然后重新启动nginx,可以了。

其他方法也试过,比如给/home/dean/work/resources目录设置777权限,比如将nginx用户加入root组,都不行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8503229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存