nginx 編譯安裝詳解

nginx 編譯安裝詳解


編譯自:
http://nginx.org/en/docs/install.html
https://www.nginx.com/resources/wiki/start/topics/tutorials/installoptions/

源碼包及依賴庫(kù)下載地址

如果需要特別的功能,可進(jìn)行編譯安裝:

源碼包中提供 configure 腳本用于編譯前定義 nginx 各方面的配置。
執(zhí)行 configure 腳本最后生成 Makefile,make 命令根據(jù) Makefile 進(jìn)行編譯安裝。

configure 命令支持如下參數(shù):

文件和權(quán)限


--prefix=path

定義 nginx 文件的安裝路徑。configure 的其他選項(xiàng)如果使用相對(duì)路徑,那么以此路徑為基礎(chǔ)路徑。(except for paths to libraries sources)。nginx.conf 文件中的相對(duì)路徑也以此為基礎(chǔ)路徑。默認(rèn) --prefix=/usr/local/nginx

--sbin-path=path

設(shè)置 nginx 二進(jìn)制程序的路徑名,這個(gè)名字只在安裝期間使用。
默認(rèn) --sbin-path=prefix/sbin/nginx

--conf-path=path

設(shè)置 nginx.conf 的路徑。nginx 可在啟動(dòng)時(shí)手動(dòng)以 -c file 參數(shù)指定其他配置文件。默認(rèn) --conf-path=prefix/conf/nginx.conf

--pid-path=path

設(shè)置 nginx.pid 文件的路徑。安裝nginx之后,可在 nginx.conf 文件中使用 pid 指令修改該路徑。默認(rèn) --pid-path=prefix/logs/nginx.pid

--error-log-path=path

設(shè)置 nginx 錯(cuò)誤日志的路徑。安裝nginx之后,可在 nginx.conf 文件中使用 error_log 指令修改該路徑。默認(rèn) --error-log-path=prefix/logs/error.log

--http-log-path=path

設(shè)置 nginx 訪問(wèn)日志的路徑。安裝nginx之后,可在 nginx.conf 文件中使用 access_log 指令修改該路徑。默認(rèn) --http-log-path=prefix/logs/access.log

--user=name

設(shè)置啟動(dòng) worker 進(jìn)程時(shí)所使用的非特權(quán)用戶名。安裝nginx之后,可在 nginx.conf 文件中使用 user 指令修改用戶名。默認(rèn) --user=nobody

--group=name

設(shè)置啟動(dòng) worker 進(jìn)程時(shí)所使用的非特權(quán)用戶組名。安裝nginx之后,可在 nginx.conf 文件中使用 group 指令修改用戶組名。默認(rèn) --group=nobody

事件循環(huán)


--with-select_module
--without-select_module

是否編譯 select 模塊。使用 select 模塊可使 nginx 工作于 select() 模式。
如果 nginx 不支持其他更合適的模塊,如 kqueue, epoll 或者 /dev/poll,該模塊被自動(dòng)編譯。

--with-poll_module
--without-poll_module

是否編譯 poll 模塊。使用 poll 模塊可使 nginx 工作于 poll() 模式。
如果 nginx 不支持其他更合適的模塊,如 kqueue, epoll 或者 /dev/poll,該模塊被自動(dòng)編譯。

可選模塊


--without-http_gzip_module

不編譯 gzip 壓縮模塊。壓縮模塊用于壓縮 HTTP 響應(yīng)報(bào)文。該模塊的編譯和運(yùn)行依賴 zlib 庫(kù)。

--without-http_rewrite_module

不編譯 rewrite 模塊。rewrite 模塊用于重定向 HTTP 請(qǐng)求,也可以改寫(xiě) HTTP 請(qǐng)求的 URI。該模塊的編譯和運(yùn)行依賴 PCRE 庫(kù)。

--without-http_proxy_module

不編譯 proxy 模塊。

--with-http_ssl_module

編譯 ssl 模塊。ssl 模塊使 nginx 支持 HTTPs 協(xié)議。該模塊默認(rèn)不編譯。該模塊的編譯和運(yùn)行依賴 OpenSSL 庫(kù)。

--with-pcre=path

設(shè)置 PCRE 庫(kù)的源碼路徑。首先需要下載和解壓 PCRE 庫(kù)。要求 PCRE 的版本范圍為 4.4 — 8.38。設(shè)置之后,其余的就交給 ./configure 和 make 命令。nginx 使用 PCRE 庫(kù)用于支持正則表達(dá)式。正則表達(dá)式在 location 指令和 rewrite 模塊中會(huì)用到。

--with-pcre-jit

編譯 PCRE 庫(kù)時(shí),加入 “just-in-time compilation” 支持 (1.1.12, the pcre_jit directive)

--with-zlib=path

設(shè)置 zlib 庫(kù)的源碼路徑。首先需要下載和解壓 zlib 庫(kù)。
要求 zlib 庫(kù)的版本范圍為 1.1.3 — 1.2.8,設(shè)置之后,其余的就交給 ./configure 和 make 命令。gzip 壓縮模塊依賴 zlib 庫(kù)。

編譯控制


--with-cc-opt=parameters

為 CFLAGS 變量設(shè)置額外的參數(shù)。比如 FreeBSD 下使用 PCRE 庫(kù),必須指定 --with-cc-opt="-I /usr/local/include"。 比如 希望增加 select() 支持的文件數(shù),可指定:--with-cc-opt="-D FD_SETSIZE=2048"

--with-ld-opt=parameters

設(shè)置鏈接時(shí)的額外參數(shù)。比如,F(xiàn)reeBSD 使用 PCRE 庫(kù)時(shí),必須指定 --with-ld-opt="-L /usr/local/lib"。

示例

Example of parameters usage (all of this needs to be typed in one line):

./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.38 \
--with-zlib=../zlib-1.2.8

配置完成后,使用 make 命令編譯安裝 nginx。


版權(quán)信息
本文編譯自 nginx.org 的部分,遵循其原來(lái)的 licence 聲明: 2-clause BSD-like license

本文亦有部分編譯自 nginx.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容