1. 程式人生 > >Ubuntu16上Nginx安裝教程

Ubuntu16上Nginx安裝教程

之前瞭解過一些Nginx的知識,只是大概知道它的一些優良特性,如高效能,高併發,負載均衡等等。因為以後工作會用的原因,所以打算徹底的學習一番。

一,依賴庫安裝

為了簡單,就直接使用apt-get自動安裝。


1. SSL支援需要的庫OpenSSL

sudo apt-get install openssl libssl-dev

sudo apt-get install libssl-dev

以上命令進行安裝,如果安裝過的話,會有如下類似的提示:


其中(1.0.2g-libuntu4.6)是ssl的版本。這時,安裝的路徑可以不用管,因為在nginx編譯中,不知道SSL的路徑的話,會自動找到其安裝路徑。


2. rewrite模組需要的庫PCRE(Perl Compatible Regular Expressions)

sudo apt-get install libpcre3 libpcre3-dev libpcrecpp0v5

以上命令進行安裝,如果安裝過的話,會有如下類似的提示:



3. gzip壓縮需要的zlib

sudo apt-get install zlib1g-dev

以上命令進行安裝,如果安裝過的話,會有如下類似的提示:




二.下載nginx以及安裝


1. 下載nginx包

地址為:http://nginx.org/download/。我選擇的此時的最新版

http://nginx.org/download/nginx-1.9.15.tar.gz  並解壓到~/software  目錄下。~為當前使用者的主目錄。

此處整個路徑為/home/yefeng/software/nginx-1.9.15。


2. 配置nginx

命令列進入nginx目錄下:

cd ~/software/nginx-1.9.15/

配置nginx內容:

sudo ./configure --sbin-path=/usr/local/nginx/nginx \

--conf-path=/usr/local/nginx/nginx.conf \

--pid-path=/usr/local/nginx/nginx.pid \

--with-http_ssl_module \

執行結果如圖:

可以看到,pcre,oenssl,zlib都是使用系統預設的庫,當然如果需要的話也可以在配置的時候指定。下面是一些檔案的目錄,在配置的時候額我只配置了幾個,而其它的都是根據這些值自動建立的。

3.編譯生成

執行一下命令: sudo make sudo make install 如果有報錯的話,應該是配置時路徑的問題導致的,重新執行./configure再執行即可。

4. 檢視80埠是否被佔用

因為啟動nginx需要使用80埠。比如執行有apache,就需要關掉此程序。 方法一:netstat -apn | grep :80 查詢其中本機上使用了80埠的記錄,記錄其PID
方法二:我在使用上面方式時,發現我的電腦上出現瞭如下的記錄:

這兩條記錄並沒有顯示PID和程式名稱,而其它都有顯示:

因此沒辦法kill掉。換了如下方式:

sudo fuser 80/tcp

結果為:



或者這種方式:

sudo lsof -i tcp:80

結果為:


至於為什麼有這樣的程序,也不是很清楚,因為重啟電腦後查詢80埠,就存在這樣的程序。

按照PID kill掉這些程序:sudo kill -9 4183

再次檢查80埠,此時沒有被佔用了。


5. 啟動nginx

 sudo /usr/local/nginx/nginx

啟動的目錄就是步驟2中配置結束圖中,"nginx binary file"一項的值。

執行成功的話,沒有任何提示,可以用命令檢視:ps -ef | grep nginx
存在程序的話,證明執行成功,也在瀏覽器中訪問:http://127.0.0.1/  或者 此時你電腦的ip。



到此nginx安裝成功。