nginx啟動服務提示98: Address already in use錯誤的解決
前言
今日到公司就被其他人告知官網(wǎng)所有頁面打開都是502。平常都是正常的怎么就突然頁面就502了呢,下面就開始troubleshooting。下面來看看詳細的解決過程:
發(fā)現(xiàn)問題
公司web服務器,是搭建在centos system 上的lnmp環(huán)境,首先網(wǎng)站502肯定是服務器端錯誤,首先想到是不是nginx服務掛掉了,然后執(zhí)行service nginx status,查看下nginx的狀態(tài):nginx is stopped,果然是nginx服務掛了。
執(zhí)行service nginx start啟動nginx服務,無法開啟,提示錯誤如下:
Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] still could not bind()
大概意思就是:端口地址已被使用。很大的可能nginx服務進程卡死了,導致80端口被占用。
解決辦法
首先用lsof -i :80查看80端口被什么程序占用,返回結果如下,
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 3274 root 6u IPv4 10664 0t0 TCP :http (LISTEN) nginx 3547 nginx 6u IPv4 10664 0t0 TCP :http (LISTEN) .....
發(fā)現(xiàn)是nginx進程占用了80端口,所以我們把nginx進程kill掉,重新啟動服務。
命令如下(kill 掉所有的nginx進程):
kill -9 lsof -i :80 |grep nginx |grep -v grep|awk '{print $2}'
service nginx start
Starting nginx... [ OK ]
OK,nginx服務已經(jīng)成功啟動!
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
Nginx配置參數(shù)中文說明詳解(負載均衡與反向代理)
最近在看高性能Linux服務器構建實戰(zhàn)的Nginx章節(jié),對其nginx介紹的非常詳細,現(xiàn)把經(jīng)常用到的Nginx配置參數(shù)中文說明摘錄和nginx做負載均衡的本人真實演示實例抄錄下來以便以后查看2020-03-03

