nginx 編譯安裝詳解
編譯自:
http://nginx.org/en/docs/install.html
https://www.nginx.com/resources/wiki/start/topics/tutorials/installoptions/
源碼包及依賴庫下載地址
nginx 源碼包下載:http://nginx.org/en/download.html
PCRE 下載:http://www.pcre.org (rewrite 模塊依賴)
zlib 庫下載:http://zlib.net (gzip 模塊依賴)
如果需要特別的功能劳淆,可進行編譯安裝:
源碼包中提供 configure 腳本用于編譯前定義 nginx 各方面的配置。
執(zhí)行 configure 腳本最后生成 Makefile,make 命令根據(jù) Makefile 進行編譯安裝。
configure 命令支持如下參數(shù):
文件和權限
--prefix=path
定義 nginx 文件的安裝路徑。configure 的其他選項如果使用相對路徑闲坎,那么以此路徑為基礎路徑。(except for paths to libraries sources)。nginx.conf 文件中的相對路徑也以此為基礎路徑宛裕。默認
--prefix=/usr/local/nginx
--sbin-path=path
設置 nginx 二進制程序的路徑名,這個名字只在安裝期間使用论泛。
默認--sbin-path=prefix/sbin/nginx
--conf-path=path
設置 nginx.conf 的路徑揩尸。nginx 可在啟動時手動以
-c file
參數(shù)指定其他配置文件。默認--conf-path=prefix/conf/nginx.conf
--pid-path=path
設置 nginx.pid 文件的路徑屁奏。安裝nginx之后岩榆,可在
nginx.conf
文件中使用 pid 指令修改該路徑。默認--pid-path=prefix/logs/nginx.pid
--error-log-path=path
設置 nginx 錯誤日志的路徑坟瓢。安裝nginx之后勇边,可在
nginx.conf
文件中使用error_log
指令修改該路徑。默認--error-log-path=prefix/logs/error.log
--http-log-path=path
設置 nginx 訪問日志的路徑折联。安裝nginx之后粒褒,可在
nginx.conf
文件中使用access_log
指令修改該路徑。默認--http-log-path=prefix/logs/access.log
--user=name
設置啟動 worker 進程時所使用的非特權用戶名诚镰。安裝nginx之后奕坟,可在
nginx.conf
文件中使用 user 指令修改用戶名祥款。默認--user=nobody
--group=name
設置啟動 worker 進程時所使用的非特權用戶組名。安裝nginx之后月杉,可在
nginx.conf
文件中使用 group 指令修改用戶組名刃跛。默認--group=nobody
事件循環(huán)
--with-select_module
--without-select_module
是否編譯 select 模塊。使用 select 模塊可使 nginx 工作于
select()
模式苛萎。
如果 nginx 不支持其他更合適的模塊桨昙,如 kqueue, epoll 或者 /dev/poll,該模塊被自動編譯首懈。
--with-poll_module
--without-poll_module
是否編譯 poll 模塊绊率。使用 poll 模塊可使 nginx 工作于
poll()
模式。
如果 nginx 不支持其他更合適的模塊究履,如 kqueue, epoll 或者 /dev/poll滤否,該模塊被自動編譯。
可選模塊
--without-http_gzip_module
不編譯 gzip 壓縮模塊最仑。壓縮模塊用于壓縮 HTTP 響應報文藐俺。該模塊的編譯和運行依賴 zlib 庫。
--without-http_rewrite_module
不編譯 rewrite 模塊泥彤。rewrite 模塊用于重定向 HTTP 請求欲芹,也可以改寫 HTTP 請求的 URI。該模塊的編譯和運行依賴 PCRE 庫吟吝。
--without-http_proxy_module
不編譯 proxy 模塊菱父。
--with-http_ssl_module
編譯 ssl 模塊。ssl 模塊使 nginx 支持 HTTPs 協(xié)議剑逃。該模塊默認不編譯浙宜。該模塊的編譯和運行依賴 OpenSSL 庫。
--with-pcre=path
設置 PCRE 庫的源碼路徑蛹磺。首先需要下載和解壓 PCRE 庫粟瞬。要求 PCRE 的版本范圍為 4.4 — 8.38。設置之后萤捆,其余的就交給 ./configure 和 make 命令裙品。nginx 使用 PCRE 庫用于支持正則表達式。正則表達式在 location 指令和 rewrite 模塊中會用到俗或。
--with-pcre-jit
編譯 PCRE 庫時市怎,加入 “just-in-time compilation” 支持 (1.1.12, the pcre_jit directive)
--with-zlib=path
設置 zlib 庫的源碼路徑。首先需要下載和解壓 zlib 庫蕴侣。
要求 zlib 庫的版本范圍為 1.1.3 — 1.2.8焰轻,設置之后,其余的就交給 ./configure 和 make 命令昆雀。gzip 壓縮模塊依賴 zlib 庫辱志。
編譯控制
--with-cc-opt=parameters
為 CFLAGS 變量設置額外的參數(shù)蝠筑。比如 FreeBSD 下使用 PCRE 庫,必須指定
--with-cc-opt="-I /usr/local/include"
揩懒。 比如 希望增加 select() 支持的文件數(shù)什乙,可指定:--with-cc-opt="-D FD_SETSIZE=2048"
--with-ld-opt=parameters
設置鏈接時的額外參數(shù)。比如已球,F(xiàn)reeBSD 使用 PCRE 庫時臣镣,必須指定
--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忆某。
版權信息:
本文編譯自 nginx.org 的部分,遵循其原來的 licence 聲明: 2-clause BSD-like license
本文亦有部分編譯自 nginx.com