问题描述:普通用户启动nginx抛出如下错误:
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/nginx/conf/nginx.conf:2
产生原因:因为nginx的master process进程要占用1024端口,而默认情况下Linux的1024端口是只有root用户才有权限占用,所以使用普通用户启动时会抛出上面的错误。
解决方案:进入到nginx的sbin目录下,先停止nginx,然后切换至root用户,最后依次输入如下命令再切换至普通用户启动nginx即可:
一、修改nginx二进制目录权限的方式
chown root.普通用户所在用户组名 /opt/nginx/sbin/nginx
chmod 750 /opt/nginx/sbin/nginx
chmod u+s /opt/nginx/sbin/nginx
#需要按照顺序执行
二、授权visudo
echo "nginx用户 ALL=(ALL) NOPASSWD:/opt/nginx-1.26.0/sbin/nginx,/opt/nginx/sbin/nginx" >> /etc/sudoers
#/opt/nginx为nginx安装目录。自行修改即可
👍