nginx无法启动

文章描述了在使用systemctl或service命令启动nginx时遇到失败的情况,但通过nginx-t测试配置文件显示为OK。问题可能在于启动脚本或权限设置。临时解决方案包括使用安装目录下的nginx可执行文件直接启动,并通过kill命令处理可能存在的冲突进程,然后尝试使用service命令重新启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值