本文记录修改 Nginx 启动用户的过程,等保整改可参考。
使用 root 用户编译安装,默认用户为 root,根据要求应调整为其他用户
- 配置用户和用户组
1 2
| groupadd -r nginx useradd -r -g nginx -s /sbin/nologin -d /var/nginx -c "Nginx web server" nginx
|
- 调整权限(以下根据实际情况调整路径)
1 2 3 4
| chown -R nginx:nginx /data/logs/nginx
chown -R nginx:nginx /usr/local/nginx/logs
|
根据参考资料,nginx 检查这个权限在读取配置文件之前,根据实践,Nginx 1.24.0 版本如果不给相应权限,会启动失败
3. 调整 Nginx 配置文件
1
| vim /usr/local/nginx/conf/nginx.conf
|
默认是注释了 user 配置,取消注释,改为你需要修改的启动用户
1 2
| #user nobody; user nginx;
|
- 调整 Nginx 服务配置文件
1 2 3 4
| vim /lib/systemd/system/nginx.service
User=nginx Group=nginx
|
- 重启 Nginx
1 2
| systemctl daemon-reload systemctl restart nginx
|
如果启动失败,一般是由于某些文件没有权限导致的,使用 systemctl status nginx
可以看到失败原因,和无权限的具体内容

6. 验证是否生效

参考资料:
linux - Nginx still try to open default error log file even though I set nginx config file while reloading - Stack Overflow