Nginx启动异常及解决方案:Failed to start SYSV: NGINX is an HTTP(S) server, HTTP(S) reverse proxy

  • Post author:
  • Post category:其他




1.背景及描述

当我使用

systemctl start nginx.service

或者

service nginx start

命令启动nginx,发现启动失败.当使用

nginx -t

却显示OK.查看状态,信息如下:

[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.



2.临时解决方案



2.1 使用./nginx启动

参考多篇博客均以失败告终,最后偶然发现,如果通过安装目录下sbin中的nginx可以正常启动.命令如下:

#进入nginx安装目录下的sbin目录,并指定配置文件启动
./nginx -c /etc/local/nginx/conf/nginx.conf



2.2 杀掉./nginx启动的进程,再使用service方式启动

也有博客是这样说的

只是很多时候我们都先用/usr/local/nginx/sbin/nginx来启动了nginx

只要找到这个进程kill掉以后,再执行/etc/rc.d/init.d/nginx start就一切正常了

即:先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方式启动

查错不易,如有帮助,请不吝点赞



版权声明:本文为java0506原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。