nginx源碼編譯安裝(詳解)

nginx編譯安裝

編譯安裝大致步驟:

安裝步驟:

  1. 官網下載合適的版本,建議選擇穩定版本。

    官網地址://nginx.org

    wget //nginx.org/download/nginx-1.20.1.tar.gz

  2. 解壓後,進入源碼目錄

    cd /opt
    tar -zxvf nginx-1.20.1.tar.gz 
    cd nginx-1.20.1
    
  3. 源碼文件各目錄解釋

    [root@localhost nginx-1.20.1]# ll
    總用量 788
    drwxr-xr-x 6 zdsoftro zdsoftro    326 10月 18 15:44 auto
    -rw-r--r-- 1 zdsoftro zdsoftro 311503 5月  25 20:35 CHANGES
    -rw-r--r-- 1 zdsoftro zdsoftro 475396 5月  25 20:35 CHANGES.ru
    drwxr-xr-x 2 zdsoftro zdsoftro    168 10月 18 15:44 conf
    -rwxr-xr-x 1 zdsoftro zdsoftro   2590 5月  25 20:35 configure
    drwxr-xr-x 4 zdsoftro zdsoftro     72 10月 18 15:44 contrib
    drwxr-xr-x 2 zdsoftro zdsoftro     40 10月 18 15:44 html
    -rw-r--r-- 1 zdsoftro zdsoftro   1397 5月  25 20:35 LICENSE
    drwxr-xr-x 2 zdsoftro zdsoftro     21 10月 18 15:44 man
    -rw-r--r-- 1 zdsoftro zdsoftro     49 5月  25 20:35 README
    drwxr-xr-x 9 zdsoftro zdsoftro     91 10月 18 15:44 src
    
    • auto目錄:用於編譯時的文件,以及相關lib庫,編譯時對對作業系統的判斷等,都是為了輔助./configure命令執行的輔助文件。

    • CHANGES文件:就是當前版本的說明資訊,比如新增的功能,修復的bug,變更的功能等

    • CHANGES.ru文件:作者時俄羅斯人,生產了一份俄羅斯語言的CHANGE文件

    • conf目錄:是nginx編譯安裝後的默認配置文件,安裝時會拷貝到安裝的裡面裡面。

    • configure文件:編譯安裝前的預備執行文件

    • contrib目錄:該目錄是為了方便vim編碼nginx的配置文件時候,顏色突出顯示,可以將該目錄拷貝到自己的~/.vim目錄下面

      cp -rf contrib/vim/* ~/.vim/ 這樣vim打開nginx配置文件就有突出的顏色顯示。

    • html目錄:編譯安裝的默認的2個標準web頁面,會拷貝到nginx的安裝目錄

    • man目錄:nginx命令的幫助文檔

    • src:nginx的源碼文件

  4. 開始編譯,執行./configure

    備註:nginx使用yum源安裝,可能導致業務上很多需要的功能模組沒有開啟,還是按需自己編譯比較合適。

    ./configure --help #查看./configure 支援哪些參數

我演示使用默認參數安裝:

./configure --prefix=/home/zdsoft/nginx

沒有報錯代表安裝完成。

  1. ./configure 執行完成後,會生成很多中間文件,放在objs目錄下面

  2. 在當前命令執行make命令

    make #沒有報錯代表執行成功

    備註:這個時候,如果是第一次安裝,下一步可以執行make install命令,如果是升級,就不能執行install命令。

    這個時候,需要把objs目錄下生成nginx二進位文件拷貝到原老版本的nginx目錄下

  3. 執行make install 安裝命令

    make執行完成後生成的中間件文件,都會放在objs/src目錄下面

    [root@localhost src]# ll
    總用量 8
    drwxr-xr-x 2 root root 4096 10月 18 17:15 core
    drwxr-xr-x 3 root root  191 10月 18 17:15 event
    drwxr-xr-x 4 root root 4096 10月 18 17:15 http
    drwxr-xr-x 2 root root    6 10月 18 16:37 mail
    drwxr-xr-x 2 root root    6 10月 18 16:37 misc
    drwxr-xr-x 4 root root   31 10月 18 16:37 os
    drwxr-xr-x 2 root root    6 10月 18 16:37 stream
    [root@localhost src]# pwd
    /opt/nginx-1.20.1/objs/src
    [root@localhost src]# 
    
  4. 安裝完成,安裝目錄為:/home/zdsoft/nginx/

    nginx -v  #查看nginx版本
    nginx -V  #查看nginx編譯參數,如果沒有額外的參數,只會顯示configure arguments: --prefix=/home/zdsoft/nginx
    #這情況下,代表是默認安裝,可以查看源碼目錄auto/options 文件。默認安裝了哪些模組,哪些沒有安裝。
    
  5. nginx進程啟動

/home/zdsoft/nginx/sbin/nginx  -c /home/zdsoft/nginx/conf/nginx.conf

遇到的問題

  1. ./configure: error: the HTTP rewrite module requires the PCRE library.

    解決:yum -y install pcre-devel

  2. ./configure: error: the HTTP gzip module requires the zlib library.

    解決:yum install -y zlib-devel

Tags: