这个错误表明 Nginx 无法找到或访问配置中指定的 "nginx" 用户账户。以下是详细的解决方案:
# 创建nginx用户组
groupadd -r nginx
# 创建nginx用户,不创建主目录(-M),不分配shell(-s /sbin/nologin)
useradd -r -M -s /sbin/nologin -g nginx nginx
编辑Nginx配置文件(通常位于 /etc/nginx/nginx.conf
):
user www-data; # 改为系统中已存在的用户,如www-data、nobody等
# 检查nginx用户是否存在
id nginx
# 如果存在但仍有问题,检查相关目录权限
chown -R nginx:nginx /var/log/nginx
chown -R nginx:nginx /var/cache/nginx
# 临时禁用
setenforce 0
# 永久禁用(需编辑/etc/selinux/config)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 测试Nginx配置
nginx -t
# 重启Nginx服务
systemctl restart nginx
nginx
用户www-data
用户/var/lib/nginx
)有正确的权限如果问题仍然存在,请检查系统日志获取更多信息:
journalctl -xe
tail -f /var/log/nginx/error.log