前言
自己阿里云服务部署了一个应用,需要一个nginx做代理,所以下决心安装一个nginx,后面发现用yum也可以按照nginx,所以就安装了,但是安装完成后,怎么启动也启动不起来,遇到报错。
报错如下:
具体信息为: [emerg] getpwnam(“nginx“) failed in /etc/nginx/nginx.conf:
然后网上看资料,是因为没有nginx这个用户导致的
于是执行:
useradd nginx
但是遇到一个报错:
useradd: group nginx exists - if you want to add this user to that group, use -g.
后面又去查资料,大概的意思是:
在创建用户时没有指定用户组,系统默认会创建一个同名的用户组,用户userone不存在,但是用户组userone已经存在,所以会有这个错误。参考资料(【Linux】添加用户useradd出现异常useradd group userone exists_非正常人研究室-CSDN博客)
于是改成命令:
useradd -g nginx nginx
但是执行又报错了(可能为阿里云原因)报错如下:
useradd: cannot open /etc/passwd
后面又去百度查资料(不懂只能网上查资料了)
终于找到解决方法:
chattr -a /etc/passwd
执行完整个又提示:
useradd: cannot open /etc/passwd
然后再执行:
chattr -a /etc/shadow
参考(【Linux系列】无法创建用户useradd:无法打开 /etc/passwd_溪~源-CSDN博客)
最终执行:
useradd -g nginx nginx
才能成功
执行成功后
用 systemctl start nginx.service也可以了