nginx 配置的user为 www 用户,root启动之后主进程显示root,子进程显示是www,但是切换到www 用户之后执行 nginx -t 等报错
/usr/local/nginx/sbin/nginx -t 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: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok … 分析
nginx需要超级用户启动,因为普通用户只能用1024以上的端口,1024以内的端口只能由root用户使用,nginx这里使用的是80端口,所以切换普通用户启动失败
方案
想到的第一反应就是让要保留80端口,只能是root启动,又想用普通用户启动怎么办呢? 推荐命令 chmod
权限范围:
权限设置:
分析
nginx需要超级用户启动, 因为普通用户只能用1024以上的端口,1024以内的端口只能由root用户使用,nginx这里使用的是80端口,所以切换普通用户启动失败
方案
要保留80端口,只能是root启动,又想用普通用户启动怎么办呢? 推荐命令 chmod
权限范围:
权限设置:
chown root /usr/local/nginx/sbin/nginx chmod u+s /usr/local/nginx/sbin/nginx
然后切换到普通用户去 执行 nginx 命令,正常生效。