服务器是Centos7,yum intstall nginx后,根据ObjectSpace的博客直接启动nginx后报错:Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Sat 2020-01-1810:46:46 CST; 2min42s ago Process: 13542 ExecStart=/usr/sbin/nginx (code=exited, status=1/FAILURE) Process: 13537 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 13536 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Jan 1810:46:44 iZbp1895xh98o9mhkd21vjZ nginx[13542]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) Jan 1810:46:45 iZbp1895xh98o9mhkd21vjZ nginx[13542]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) Jan 1810:46:45 iZbp1895xh98o9mhkd21vjZ nginx[13542]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) Jan 1810:46:45 iZbp1895xh98o9mhkd21vjZ nginx[13542]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) Jan 1810:46:45 iZbp1895xh98o9mhkd21vjZ nginx[13542]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) Jan 1810:46:46 iZbp1895xh98o9mhkd21vjZ nginx[13542]: nginx: [emerg] still could not bind() Jan 1810:46:46 iZbp1895xh98o9mhkd21vjZ systemd[1]: nginx.service: control process exited, code=exited status=1 Jan 1810:46:46 iZbp1895xh98o9mhkd21vjZ systemd[1]: Failed to start The nginx HTTP and reverse proxy server. Jan 1810:46:46 iZbp1895xh98o9mhkd21vjZ systemd[1]: Unit nginx.service entered failed state. Jan 1810:46:46 iZbp1895xh98o9mhkd21vjZ systemd[1]: nginx.service failed.
问题所在:
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
检查端口是否被占用
1
netstat -tnlp
如果端口已经被占用,自己权衡一下是换个端口还是把占用端口的进程杀掉
检查nginx是否已经启动
1
ps -aux | grep nginx
如果已经启动使用下面命令干掉即可
1
pkill -9 nginx
重新启动nginx,done。
如果是因为配置文件有错误,输入systemctl status nginx.service回车应会看到类似于“server” directive is not allowed here in /etc/nginx/nginx.conf:35的错误,打开配置文档进行修改(参考博客benweilunochect)。