[root@admin-manager sbin]# ./nginx -s reload
[root@admin-manager sbin]# ps -ef|grep nginx
root 18522 1 0 15:44 ? 00:00:00 nginx: master process ./nginx
nobody 18528 18522 0 15:46 ? 00:00:00 nginx: worker process
root 18530 13491 0 15:47 pts/2 00:00:00 grep --color=auto nginx
[root@admin-manager sbin]# ps -ef|grep nginx
root 18522 1 0 15:44 ? 00:00:00 nginx: master process ./nginx
nobody 18528 18522 0 15:46 ? 00:00:00 nginx: worker process
root 18532 13491 0 15:47 pts/2 00:00:00 grep --color=auto nginx
[root@admin-manager sbin]# systemctl status nginx
鈼?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: inactive (dead)
Docs: man:systemd-sysv-generator(8)
[root@admin-manager sbin]# ^C
[root@admin-manager sbin]#
注:网站地址能正常访问。
请问这是什么原因,如何解决?
楼上说的都是解决办法,但我想说的是,
你的nginx重载成功,但显示确实是失败,明显就是2个不同的nginx应用,
可以说,你安装了2个nginx,
直接重载的和你systemctl查看的并不是相同的应用;
不信,你可以 直接查找下nginx有几个,即可解决你的问题;
find / -iname nginx
直接用以上命令查找下有几个nginx即可明确。
首先明确配置文件是否有异常,可初步使用 nginx -t 进行检查,
然后定位日志中具体报错信息来定位问题,去看看日志提示啥。
还有,你使用了systemd 来控制服务,就别单独使用 nginx -s reload,你使用 systemctl reload nginx来控制比较好
如果你是源码编译安装,就需要你编写好 systemd,要写对,否则就会出现的dead状态,其实进程还在正常运行。
你是编译安装的么,感觉是服务启动文件的问题,你看下错误日志怎么说的
1、是否通过yum方式安装的nginx?
2、nginx估计不是使用systemctl start nginx启动的。
nginx直接可以使用nginx命令就启动,默认是使用/etc/nginx/nginx.conf配置文件
3、你可以pgrep -f "master process nginx"获取进程,然后查看下进程。
是通过下载安装包解压安装的
nginx删了重装,把/usr/lib/systemd/system目录下的nginx.service也删了重装,用systemctl start nginx启动或者nginx启动
建议先查一下网站对应的端口,所属的服务进程是否为该nginx
通过排查端口和现有服务 看看服务运行路径和nginx版本,然后再把另一个版本的nginx卸载掉
你用服务方式启动,这样才能看到状态
你的问题是 System V 和 Systemd 的区别。
./nginx -s reload 使用的是 System V 采用 init 脚本,是老方法。
systemctl status nginx 是 Systemd 服务是用 C 写成的。
这是不同的方式。
loaded (/etc/rc.d/init.d/nginx; bad; vendor preset: disabled) 你需要检查下你的/etc/rc.d/init.d/nginx配置,是不是少配置了什么,我之前是没有配置JDK导致出现这类问题
nginx删了重装,把/usr/lib/systemd/system目录下的nginx.service也删了重装,用systemctl start nginx启动或者nginx启动
nginx删了重装,把/usr/lib/systemd/system目录下的nginx.service也删了重装,用systemctl start nginx启动或者nginx启动