1. 程式人生 > 其它 >從原始碼安裝Nginx

從原始碼安裝Nginx

作業系統:CentOS

安裝依賴包:

$ yum install gcc zlib-devel openssl-devel make pcre-devel libxml2-devel libxslt-devel libgcrypt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel

下載Nginx原始碼包:

$ wget https://nginx.org/download/nginx-1.20.2.tar.gz

解壓縮tar檔案:

$ tar zxvf nginx-1.20.2.tar.gz

進入原始碼包:

$ cd nginx-1.20.2

使用configure命令進行編譯:

./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
    --with-pcre=../pcre-8.39
    --with-zlib=../zlib-1.2.8

執行以下命令以完成安裝:

$ make
$ make install

configure命令的常用引數:

--prefix=path 字首路徑,定義了一個儲存伺服器檔案的目錄
--sbin-path=path sbin-path 等於一個路徑,該路徑是設定一個可行執行檔案的名字,這個名字僅僅用於安裝。預設該檔案被命名為 prefix/sbin/nginx
--conf-path=path conf-path等於一個路徑,設定nginx.conf這個配置檔案的名稱。如果有必須要,nginx可以用不同的配置檔案開始。特別的命令配置檔案的命令列引數為 -c file.預設檔案命名為 prefix/conf/nginx.conf
--pid-path=path pid-path等於一個路徑,該路徑是nginx.pid檔案,用於儲存主程序中的一個程序ID.在安裝後,這個檔名稱通常被改為nginx.conf備至檔案被使用pid指令。預設檔案被命名為 prefix/logs/nginx.pid
--error-log-path=path errror-log-path等於一個路徑,該路徑是引數錯誤、警告、診斷檔案。在安裝後,該檔案通常被修改到nginx.conf備至檔案用error log指令,預設檔案被命名為 prefix/logs/error.log
--http-log-path=path http-log-path等於一個路徑,該路徑設定了http伺服器的請求邏輯日誌引數的名稱。在安裝後,該名稱被改進進入nginx.conf配置檔案用 通過邏輯 指令。預設該檔案被命名為 prefix/logs/access.log
--user=name --user等於一個路徑,該路徑是一個能夠被用著工作程序的資格證書的特權使用者。在安裝後,該名稱被改進進入nginx.config檔案,被命名為user指令。預設使用者為沒有任何人
--group=name -group等於一個名稱,具有工作程序資格證書的一組名稱。這個名稱通常被改進進入nginx.conf以user指令。預設一組指令被設定到特權使用者
--with/without-select_module 是允許(with)或者禁用(without)一個模組,該模組允許伺服器用select()方法工作。這個模組被自動建立當平臺沒有出現適合的方法如kqueue, epoll, or /dev/poll
--with/without-poll_module 允許或者禁用一個建立的模組,該模組允許伺服器用poll()執行緒方法工作。該模組被自動建立當伺服器沒有出現荀彧合適的方法,例如kqueue,epoll,or /dev/poll
--with/without-http_gzip_module 允許或者禁用http服務的解壓縮建立模組。這個zlib圖書館被允許建立執行該模組
--with/without-http_rewrite_module 允許或禁用http伺服器http伺服器轉發請求或者改變請求的URL建立的模組。 這個PCRE這個圖書館被允許建立和執行該模組
--with/without-http_proxy_module 允許或禁止http伺服器代理模組
--with/without-http_ssl_module 允許或禁止建立一個http伺服器的http協議支援的模組。該模組預設不會被建立。 開源庫被建立和執行該模組
--with-pcre=path 等於一個路徑,該路徑是一個網路庫的資源。這個庫需要下載從網路庫和提取。剩下的被nginx的配置檔案建立。這個庫被要求為當前命令或者重寫模組的庫命令
--with-pcre-jit 建立了PCRE庫帶著及時編譯幫助
--with-zlib=path 等於一個路徑,設定了zlib庫的原始碼路徑。這個庫貢獻需要從zlib站點下站和提取。剩下的被做到nginx的配置檔案和編譯。這個庫被http解壓縮模組所需要
--with-cc-opt=parameters 等於引數,設定附加的引數被新增到目的變數。當使用系統PCRE庫在免費的BSD下時候,用--with-cc-opt="-I /usr/lcoal/include"應該被設定。如果檔案的大小需要支援選擇方法,他被特定指示為這樣的形式:--with-c-opt="-D FD_SETSIZE=2048"
--with-ld-opt=parameters 設定附加的引數,這些常被用到連線。當我們在UNIX作業系統下使用PCRE庫時候,被指定為"--with-ld-opt="-L /usr/local/lib""