解決nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

來源:互聯網
上載者:User

首選是安裝nginx,在./configure出錯的情況下,查看錯誤的報告,如果是缺少一些必要的庫,安裝這些庫,可能的有ssl pcre(這個庫我是使用源碼安裝的,線上安裝沒有成功,提示看不到這個庫)等 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 這個是這個庫的串連。下載源碼然後安裝即可!

然後make

make install

如果使用的是源碼安裝,安裝後的目錄在/usr/local/nginx.其中有所有的東西,源碼安裝的啟動方式:sbin/nginx,這個程式在/usr/local/nginx

如果是線上安裝,安裝後的預設目錄在/etc/init.d/nginx start

如果在安裝過程在瀏覽器中尋找嘗試!!

在ubuntu10.04上面安裝nginx,安裝完成之後嘗試啟動nginx,使用命令:

sudo /etc/init.d/nginxstart

結果提示錯誤:

hankcs@ubuntu:~$ sudo /etc/init.d/nginxstart[sudo] passwordfor hankcs:  * Starting nginx nginx                                                         nginx: [emerg] bind() to [::]:80 failed (98: Address alreadyin use)nginx: [emerg] bind() to [::]:80 failed (98: Address alreadyin use)nginx: [emerg] bind() to [::]:80 failed (98: Address alreadyin use)nginx: [emerg] bind() to [::]:80 failed (98: Address alreadyin use)nginx: [emerg] bind() to [::]:80 failed (98: Address alreadyin use)nginx: [emerg] still could not bind()

我看了一下連接埠佔用情況,並且嘗試殺了進程:

hankcs@ubuntu:~$ netstat -ntpl(並非所有進程都能被檢測到,所有非本使用者的進程資訊將不會顯示,如果想看到所有資訊,則必須切換到 root 使用者)啟用Internet串連 (僅伺服器)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Programnametcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      -              tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -              hankcs@ubuntu:~$ killall -9 nginxnginx:沒有發現操作

遇到這種問題我先用中文搜尋了一下答案,發現大家都在裝逼地說要殺nginx重複的進程。我試了下發現是扯淡,於是看了Google搜到的第一個英文頁面,老外說是nginx先監聽了ipv4的80連接埠之後又監聽了ipv6的80連接埠,於是就重複佔用了。更加坑人的是你去看了連接埠佔用它又把80連接埠釋放了,是不是很囧。

解決方案是編輯nginx的設定檔

hankcs@ubuntu:~$ sudo gedit /etc/nginx/sites-available/default

修改這一段:

listen 80;listen [::]:80 default_server;

listen 80;listen [::]:80 ipv6only=on default_server;

然後啟動nginx,完美解決!

還有一種可能的情況就是,如果你是在虛擬機器中安裝了nginx,那麼在虛擬機器中的firefox可能就是不能串連,但是在宿主機中的瀏覽器可以串連(前提是宿主機和虛擬機器是可以相通的!!!)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.