本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
在 Nginx 配置文件(/etc/nginx/nginx.conf)中出现错误信息 “nginx: [emerg] getpwnam("nginx") failed”,这通常意味着系统无法找到名为 "nginx" 的用户。
当 Nginx 尝试以特定用户和组运行工作进程时,它会使用getpwnam()函数查找该用户的详细信息。如果系统上没有名为 "n
ginx" 的用户,则会出现这个错误。
要解决这个问题,请按照以下步骤操作:
创建 nginx 用户: 在大多数 Linux 发行版中,你可以使用useradd或adduser命令创建一个名为 nginx 的新用户:
sudo groupadd nginx
sudo usermod -aG nginx nginx
-r标志表示这是一个系统账户,主要用于运行服务而不是用于登录。
设置用户组: 如果需要,你还可以为 nginx 创建一个专用组,并将 nginx 用户添加到这个组中:
sudo systemctl reload nginx
# 或者,如果需要重启服务
sudo systemctl restart nginx
检查并修改 Nginx 配置: 确保你的 Nginx 配置文件中的user指令指向正确的用户和(或)组。例如:
user nginx nginx;
保存配置文件后,重新加载或重启 Nginx 以应用更改:
sudo systemctl reload nginx
# 或者,如果需要重启服务
sudo systemctl restart nginx
现在,Nginx 应该能够找到并以名为 "nginx" 的用户身份正确运行了。