虛擬機里的nginx啟動不了的問題


  • 問題:  之前使用虛擬機nginx一直都是正常的, 就在昨天重新配置了一下nginx(其實只注釋了反向代理,別的都沒動), 重啟nginx, 卻報錯pid為空. 無法啟動nginx.   而且重啟之前我是使用nginx  -t 檢查了OK的, 沒有語法錯誤. 提示信息:   invalid PID number '' in "/run/nginx.pid"
  • 排查:  在網上看到說nginx 重啟是需要使用pid 的, 既然pid為空. 那就先啟動nginx 
    sudo /etc/init.d/nginx start  #啟動nginx

    結果沒有啟動成功. 提示信息:  使用  systemctl  status  nginx.service   -l   查看詳情  或者使用   journalctl   -xn   查看信息.  於是輸入這個systemctl  status  nginx.service  , 提示綁定80端口失敗,Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 那就基本是80端口被占用.   接下來使用  sudo  netstat  -ntlp | grep 80 或者sudo  netstat -ltunp 查看什么程序占用80端口, 找到對應的pid關閉進程. (注意: 加上sudo, 開始沒加結果顯示不出來pid和占用的程序),  發現是Apache進程占用了80端口, 殺死Apache進程.  使用/etc/init.d/apache2 stop  停止Apache服務 使用 ps aux | grep apache2查看 但是Apache進程還存在....換一個kill -s 9 pid,  不知道為什么還是存在Apache進程, 最終是 使用 kill  -9  pid  逐個殺死Apache進程的pid(系統顯示的有4個pid)  然后  啟動nginx   OK!!!
    參考了: https://www.cnblogs.com/wang-yaz/p/9451312.html

  • nginx重啟需要使用pid: 解釋在這里--->  https://www.cnblogs.com/xiohao/p/6433124.html
  • 在查資料過程中看到了tcp6的一篇博客: https://www.cnblogs.com/wlzjdm/p/8684202.html   (Apache只顯示tcp6 監聽端口)
  • 20191018, 今天又遇到了PHP不能啟動的問題, 同樣是因為端口被占用了, 剛開始不知道查看那個端口, 后來在網上看到php-fpm查9000端口, 如果有占用9000端口的程序, kill  -s  9  pid, 然后啟動php-fpm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM