nginx源碼編譯安裝(詳解)
nginx編譯安裝
編譯安裝大致步驟:
安裝步驟:
-
官網下載合適的版本,建議選擇穩定版本。
官網地址://nginx.org
wget //nginx.org/download/nginx-1.20.1.tar.gz
-
解壓後,進入源碼目錄
cd /opt tar -zxvf nginx-1.20.1.tar.gz cd nginx-1.20.1
-
源碼文件各目錄解釋
[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的源碼文件
-
-
開始編譯,執行./configure
備註:nginx使用yum源安裝,可能導致業務上很多需要的功能模組沒有開啟,還是按需自己編譯比較合適。
./configure --help
#查看./configure 支援哪些參數
我演示使用默認參數安裝:
./configure --prefix=/home/zdsoft/nginx
沒有報錯代表安裝完成。
-
./configure
執行完成後,會生成很多中間文件,放在objs目錄下面 -
在當前命令執行make命令
make
#沒有報錯代表執行成功備註:這個時候,如果是第一次安裝,下一步可以執行
make install
命令,如果是升級,就不能執行install命令。這個時候,需要把objs目錄下生成nginx二進位文件拷貝到原老版本的nginx目錄下。
-
執行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]#
-
安裝完成,安裝目錄為:/home/zdsoft/nginx/
nginx -v #查看nginx版本 nginx -V #查看nginx編譯參數,如果沒有額外的參數,只會顯示configure arguments: --prefix=/home/zdsoft/nginx #這情況下,代表是默認安裝,可以查看源碼目錄auto/options 文件。默認安裝了哪些模組,哪些沒有安裝。
-
nginx進程啟動
/home/zdsoft/nginx/sbin/nginx -c /home/zdsoft/nginx/conf/nginx.conf
遇到的問題
-
./configure: error: the HTTP rewrite module requires the PCRE library.
解決:
yum -y install pcre-devel
-
./configure: error: the HTTP gzip module requires the zlib library.
解決:
yum install -y zlib-devel