[nginx] open "/usr/local/var/run/nginx.pid" failed AND nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)

系统:ios
 
nginx -s stop 执行报错
 
open "/usr/local/var/run/nginx.pid" failed
这个文件确实不存在,文件记录数字其实是该进程的id,这个文件的作用是为了防止启动多个进程副本。
 
一般解决办法
sudo nginx -c /usr/local/etc/nginx/nginx.conf // 指定一个配置文件
 
 
我这边不能解决反而新增一个错误
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
 
查看nginx进程
ps -ef|grep nginx
 
查看占用8080端口的服务
lsof -i:8080
看到有node和chrome,看Node想起本地启动了一个dev的服务,是localhost:8080占用了8080端口
停止这个本地localhost:8080服务
 
再次执行sudo nginx -c /usr/local/etc/nginx/nginx.conf 不再报错
 
再次重启nginx
  • nginx -s stop ; 停止 如果提示没有权限可以加上suod
  • nignx 启动
查看pid文件和nginx进程,一切正常
 
 

猜你喜欢

转载自www.cnblogs.com/minnie-huang/p/12721877.html