解决nginx:[emerg] getpwnam(“nginx“)failed报错问题
作者:a rookie.
编译安装nginx时,启动服务报错nginx:[emerg]getpwnam("nginx")failed,原因是没有为nginx创建用户,解决方法是创建一个nginx用户,该用户是你在编译时指定的用户
nginx:[emerg] getpwnam(“nginx“)failed报错
在编译安装nginx时,启动nginx服务报如下错误:
nginx: [emerg] getpwnam("nginx") failed
原因
这里报错的原因是因为没有为nginx创建用户,解决方法就是创建一个nginx用户
说明
这里创建的用户是你安装Nginx时,预编译时指定的Nginx用户,
如下所示:
我这里指定的用户时nginx用户,所以需要提前创建一个nginx用户,如果你指定的是其它用户,则需要保证该用户是存在的
./configure \ --user=nginx \ --group=nginx \ --prefix=/usr/local/nginx-1.14.0 \ --with-http_stub_status_module \ --with-http_ssl_module
启动nginx出现nginx: [emerg] getpwnam(“nginx“) failed
问题以及复现过程
今天升级了nginx和openssl后在编译完nginx后无法启动,报出错误
发现是在编译前确定configure时指定了用户和组策略指定了–user=nginx和–group=nginx,导致无法启动
解决方法
直接命令添加
groupadd nginx useradd -s /sbin/nologin -M nginx
在编译前一步确定configure时,去除–user=nginx和–group=nginx然后重新编译
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- nginx: [emerg] unknown directive报错误的问题
- Nginx配置SSL证书出现PEM_read_bio_PrivateKey() failed错误解决
- 解决nginx启动失败(bind() to 0.0.0.0:80 failed,An attempt was made to access a socket in...)
- nginx报错connect() failed(111: Connection refused)while connecting to upstream解决方法
- nginx connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable)