./nginx //启动nginx转发服务器
./nginx -s stop //停用nginx转发服务器
在使用停用命令的时候,发出了如下报错:
nginx:[error] open() "../nginx/logs/nginx.pid" failed (2:No such file or directory)
找不到这个名为nginx.pid的文件
那么,这个文件是干嘛的?
它是在启动nginx服务器时生成,记录了进程的ID号
ps -ef | grep nginx
和通过ps获取的ID号一致,nginx嫌弃通过ps获取比较麻烦,所以把这个端口记录下来了,后续通过kill -9 XXX 直接杀掉。
所以当pid文件被你弄丢丢失后,执行stop方法时,需要找这个ID号,这个文件没了,当然执行失败了
解决方案
1、执行ps方法拿到ID号,然后kill掉进程
2、假设我的nginx在linux下存放的路径为taya/nginx
3、可能需要权限
su root //获取到操作权限
4、进入到以下路径
/taya/nginx/sbin
5、输入以下指令
>/taya/nginx/sbin/nginx -c /taya/nginx/conf/nginx.conf //以配置文件启动
6、完事,并查看conf目录下,新的pid文件应该重新生成了