nginx編譯安裝
編譯安裝大致步驟:
安裝步驟:
-
官網下載合適的版本,建議選擇穩定版本。
官網地址:https://nginx.org
wget https://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