1.背景及描述
当我使用systemctl start nginx.service或者service nginx start命令启动nginx,发现启动失败.当使用nginx -t却显示OK.查看状态,信息如下:
情况1:
[root@CentOS-7-x86_64-DVD-2207-bt /]# nginx -t
nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /www/server/nginx/conf/nginx.conf test is successful
[root@CentOS-7-x86_64-DVD-2207-bt /]# systemctl status nginx.service
● nginx.service - (null)
Loaded: loaded (/etc/rc.d/init.d/nginx; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since 日 2023-03-05 13:22:07 CST; 58min ago
Docs: man:systemd-sysv-generator(8)
3月 05 13:22:07 CentOS-7-x86_64-DVD-2207-bt systemd[1]: Starting (null)...
3月 05 13:22:07 CentOS-7-x86_64-DVD-2207-bt systemd[1]: nginx.service: control process exited, code=exited status=203
3月 05 13:22:07 CentOS-7-x86_64-DVD-2207-bt systemd[1]: Failed to start (null).
3月 05 13:22:07 CentOS-7-x86_64-DVD-2207-bt systemd[1]: Unit nginx.service entered failed state.
3月 05 13:22:07 CentOS-7-x86_64-DVD-2207-bt systemd[1]: nginx.service failed.
情况2:
[root@localhost logs]# systemctl status nginx.service
● nginx.service - SYSV: NGINX is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server
Loaded: loaded (/etc/rc.d/init.d/nginx; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since 五 2020-10-16 10:52:10 CST; 11s ago
Docs: man:systemd-sysv-generator(8)
Process: 38258 ExecStart=/etc/rc.d/init.d/nginx start (code=exited, status=203/EXEC)
10月 16 10:52:10 localhost.localdomain systemd[1]: Starting SYSV: NGINX is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server...
10月 16 10:52:10 localhost.localdomain systemd[1]: nginx.service: control process exited, code=exited status=203
10月 16 10:52:10 localhost.localdomain systemd[1]: Failed to start SYSV: NGINX is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server.
10月 16 10:52:10 localhost.localdomain systemd[1]: Unit nginx.service entered failed state.
10月 16 10:52:10 localhost.localdomain systemd[1]: nginx.service failed.
123456789101112
2.临时解决方案
2.1 使用./nginx启动
参考多篇博客均以失败告终,最后偶然发现,如果通过安装目录下sbin中的nginx可以正常启动.命令如下:
#进入nginx安装目录下的sbin目录,并指定配置文件启动
./nginx -c /etc/local/nginx/conf/nginx.conf
12
2.2 杀掉./nginx启动的进程,再使用service方式启动
也有博客是这样说的
只是很多时候我们都先用/usr/local/nginx/sbin/nginx来启动了nginx
只要找到这个进程kill掉以后,再执行/etc/rc.d/init.d/nginx start就一切正常了
123
即:先kill掉./nginx启动的进程,然后再换成service nginx start方式启动
3.总结
如果符合如下状态
nginx -t显示状态ok
systemctl start nginx.service或者service nginx start命令启动nginx失败
报错信息为:nginx.service - SYSV: NGINX is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server
报错信息为:Process: 38258 ExecStart=/etc/rc.d/init.d/nginx start (code=exited, status=203/EXEC)
请尝试:
更改为./nginx -c /etc/local/nginx/conf/nginx.conf方式启动
kill掉./nginx启动的进程,然后再换成service nginx start方式启动
版权归原作者 Free魚 所有, 如有侵权,请联系我们删除。