1. 程式人生 > >關於虛擬機器VM中的Linux啟動Nginx時出現80埠被佔用問題的解決

關於虛擬機器VM中的Linux啟動Nginx時出現80埠被佔用問題的解決

我用的虛擬機器是VM,Linux版本是CentOS6.3。在安裝完Nginx之後,準備啟動Nginx服務。

切到目錄:

[[email protected] ~]# cd /usr/local/nginx/sbin

[[email protected] sbin]# ./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埠,看報錯資訊大概就是80埠已經被佔用。

既然80埠已經被佔用,那我們就來看看是什麼佔用了80埠。

[[email protected] ~]# netstat -ntlp|grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1468/nginx  

看結果,是Nginx程序佔用的。那我們就殺死Nginx程序再啟動Nginx服務。

首先檢視與Nginx有關的程序。據我觀察,前四個是Nginx有關的程序,這四個程序要全部殺死,才能啟用Nginx。第四個程序是我們抓取Nginx的程序沒有關係。

[[email protected] sbin]# ps -ef |grep nginx
www       2479     1  0 12:46 ?        00:00:00 nginx: worker process                                          
www       2480     1  0 12:46 ?        00:00:00 nginx: worker process                                          
www       2483     1  0 12:46 ?        00:00:00 nginx: worker process                                          
www       2485     1  0 12:46 ?        00:00:00 nginx: worker process                                          
root      2491  2405  0 12:47 pts/0    00:00:00 grep nginx

然後我們執行命令:

[[email protected] sbin]# kill -9 2479
[[email protected] sbin]# kill -9 2480
[[email protected] sbin]# kill -9 2483
[[email protected] sbin]# kill -9 2485

檢視殺死Nginx1程序後的結果:

[[email protected] sbin]# ps -ef |grep nginx
root      2495  2405  0 12:48 pts/0    00:00:00 grep nginx

這時候我們再次開啟Nginx服務:

[[email protected] sbin]# ./nginx 
[[email protected] sbin]# 

這時候成功了!!!!!!

這個過程中要注意的是:與Nginx有關的程序要全部殺死!!我之前沒有全部殺死,導致一直有Nginx程序存在,啟用Nginx服務就一直報錯。

相關推薦

關於虛擬機器VMLinux啟動Nginx出現80佔用問題的解決

我用的虛擬機器是VM,Linux版本是CentOS6.3。在安裝完Nginx之後,準備啟動Nginx服務。 切到目錄: [[email protected] ~]# cd /usr/local/nginx/sbin [[email protected

啟動nginx提示80自身佔用

問題:作為一個技術小白,今天啟動nginx時提示如下:即80埠已經被佔用。為什麼會這樣?怎麼辦呢?原因:可能是上一次nginx沒有關閉,開啟兩次,本機80埠被nginx自身佔用。解決:第一步:檢視nginx的程序ps -ef |grep nginx第二步:找到主程序對應的pi

idea啟動tomcat遇到1099佔用的錯誤

       在開發中,我們使用idea進行web開發時,有時會遇到一些問題而導致idea異常關閉,再重新開啟idea啟動tomcat時,會出現“Error running Server:Addres

Linux全面學習】14.虛擬機器VMwareLinux聯網問題

一般我們用VMware虛擬機器剛剛安裝Linux的時候,進入虛擬機發現右上角的小電腦是打叉叉的: 這說明我們的網路連結是不通的。(可以ping一下百度網址什麼的,ping不通說明也沒聯網) 首先要保證主機的網路連線是正常的,可以上網。那麼我們首先要在“網路共享中心”的“更改

虛擬機器vmlinux裡如擴充套件磁碟容量並在系統裡掛載

虛擬機器環境:vm12.0+ubuntu14.10。 實現目的: vm裡跑的ubuntu的磁碟容量只有10g,想將其擴充套件到50g. 1. 虛擬機器設定->硬體---->新增---->硬碟--->scsi--- 建立新的虛擬硬碟-----

虛擬機器linux linux伺服器環境變數修改

使用vmware時,在虛擬機器設定裡,設定CD/DVD為系統映象,掛載時,有時會有找不到介質或者no medium found之類的提示。 根本原因是iso映象並沒有載入到虛擬機器系統內。 解決辦法: 首先確定,VMWARE的CD/DVD設定內,已經成功選中ISO映象。如下

Linux安裝軟體出現無法修正錯誤的解決方法

在WIN10子系統裝軟體時,報如下錯誤: 經過查詢資料,解決方法就是更換系統的源: # 1.備份原來的資料來源配置檔案 cp /etc/apt/sources.list /etc/apt/s

mac上啟動nginx遇到80佔用解決方法(猜了好久的坑我擦)

今天啟動nginx的時候,發現80埠被佔用,用ps -ef | grep nginx和lsof -i:80都找不到,後來上網搜尋後發現是apache的問題,是因為系統自帶的apache啟動了所以佔用了n

linux】ubantu下Apache無法啟動80佔用

本來今天回來想晚會bootstarp的,但是發現ubantu下80埠被佔用,apache無法啟動,很是蛋疼! 索性又學裡一招,檢視80埠被哪個貨佔用裡哈哈哈哈! 開啟終端輸入netstat -lnp|

Linux佔用解決

埠被佔用 1.檢視佔用埠的程序netstat -lnp|grep 6379 tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 816/redis-server 0. 2.檢視程序資訊 p

Windows Linux 80 佔用,如何檢視和解決

有些問題遇到因為命令不總用,所以記錄一下: Windows 80埠被佔用: https://blog.csdn.net/q343509740/article/details/80821409 1.開啟cmd命令視窗 輸入如下指令檢視所有埠和PID netstat –ano 2.找到對應的

linux解決80佔用

重灌nginx服務,在啟動的時候報80埠被佔用了 首先我們查一下佔用80埠的有哪些服務,netstat -lnp|grep 80 檢視80埠被那些服務佔用。 我們會發現其實就是nginx自己佔用了80埠,重灌的時候只是刪除了nginx檔案,並沒有關閉nginx,所以出現這種情況,服務名

phpstudy執行80和3306佔用解決方法

80埠負責Apache執行 3306埠負責MySQL執行 當這兩個埠被佔用時,則不能執行程式 首先檢視什麼程式佔用埠,按住window+R,輸入cmd,點確定 進入cmd的介面,在輸入“netstat -ano” 再按回車鍵 找到埠以及對應的PID值 然後

Eclipse啟動Tomcat佔用解決方法

啟動Tomcat報以下錯誤: 【Several ports (8005, 8080, 8009) required by Tomcat v8.0 Server at localhost are alr

Mac系統開發常見問題-80佔用解決方案2-使用Nginx解決

起因:      開發中,eclipse中無法使用80埠(因mac 本身已經佔用了80埠),導致除錯專案的時候,需要使用8080埠除錯,不是很方便,所以,想到使用nginx做代理,然後做轉發到8080埠。 思路:      無非就那麼幾種:           1、幹

解決tomcat不能啟動的問題(8005佔用

Eclise啟動tomcat時,最後出現了 StandardServer.await: create[8005]: java.net.BindException: Address already in use: JVM_Bindjava.net.BindException:

Linux佔用解決

有時候關閉軟體後,後臺程序死掉,導致埠被佔用。下面以JBoss埠8083被佔用為例,列出詳細解決過程。 解決方法: 1.查詢被佔用的埠 netstat -tln netstat -tln | grep 8083 netstat -tln 檢視埠使用情況,而net

西門子PC Adapter USB,線上S7-200,提示佔用,不搜尋站點問題的一個解決方案:

在WIN7 32下同時安裝了STEP7、V4.0 STEP 7 MicroWIN SP9。利用通用型的PC Adapter USB進行程式設計。在STEP7線上後,更換插頭到S7-200,線上時提示埠被佔用,不搜尋站點。重啟系統,首先進行S7-200線上正常。一旦使用STEP

80佔用,Apache啟動不了,終極解決方案

今天啟動Apache的時候老是提示失敗,很簡單,使用 netstat -ano 發現80埠被佔用。如圖所示:按照PID 來說:在工作管理員中檢視PID 的程序名既然是system。那麼 應該不回是真正的系統。而是 微軟的其他系列產品的程序在執行。【注意:我已經在服務 serv

啟動Tomcat服務報錯,佔用解決方案

啟動Tomcat伺服器報錯:Several ports (8005, 8080, 8009) required by Tomcat v5.5 Server at localhost are already in use. The server may already be