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/。我選擇的此時的最新版
此處整個路徑為/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安裝成功。