1. 程式人生 > >《Nginx官方文件》從原始碼構建nginx

《Nginx官方文件》從原始碼構建nginx

此構建是使用configure命令來進行配置的。它定義了系統的各個層面,包含了nginx在連線處理中允許使用的方法。最後它建立了一個Makefile檔案。configure命令支援以下引數:

  • –prefix=path –指定儲存伺服器檔案的目錄。該目錄也被用在所有被configure(除了原始碼庫的路徑)設定的相對路徑和nginx.conf配置檔案中。它預設被設定為/usr/local/nginx目錄。
  • –sbin-path=path –設定nginx可執行檔案的名稱。這個名稱只在安裝過程中使用。該檔案預設被命名為/prefix/sbin/nginx。
  • –conf-path=path –設定nginx.conf配置檔案的名稱。如果需要的話,通過在命令列引數-c file中指定它,nginx就可以以不同的配置檔案啟動。該檔案預設被命名為prefix/conf/nginx.conf。
  • –pid-path=path –設定儲存主程序的程序ID的一個nginx.pid檔案的名稱。安裝後,該檔名可以在nginx.conf配置檔案使用pid指令來修改。該檔案預設被命名為prefix/log/nginx.pid。
  • –error-log-path=path –設定主要錯誤、警告和診斷檔案的名稱。安裝後,該檔名可以在nginx.conf配置檔案中使用error_log指令來修改。該檔案預設被命名為prefix/logs/error.log。
  • –http-log-path=path –設定HTTP伺服器主要的請求日誌檔案的名稱。安裝後,該檔名可以在nginx.conf配置檔案中使用access_log
    指令來修改。該檔案預設被命名為prefix/logs/access.log。
  • –build=name –設定一個可選的nginx構建名。
  • –user=name – 設定一個其憑證將被工作程序使用的無特權的使用者的名稱。安裝後,該名稱可以在nginx.conf配置檔案中使用user指令來修改。預設的使用者名稱是nobody。
  • –group=name –設定一個其憑證將被工作程序使用的組的名稱。安裝後,該名稱可以在nginx.conf配置檔案中使用user指令來修改。預設的組名設定為一個無特權的使用者的名稱。
  • –with-select_module

–without-select_module –允許或者禁止構建允許伺服器和select()方法一起工作的模組。如果平臺沒有像kqueue、epoll、或者/dev/poll方法,該模組將會自動構建。

  • –with-poll_module

–without-poll_module –允許或者禁止構建允許伺服器和select()方法一起工作的模組。如果平臺沒有像kqueue、epoll、或者/dev/poll方法,該模組將會自動構建。

  • –without-http_gzip_module –禁止構建壓縮響應的HTTP伺服器模組。構建和執行該模組需要zlib庫。
  • –without-http_rewrite_module –禁止構建允許伺服器重定向請求和修改請求的URI的模組。構建和執行該模組需要PCRE庫。
  • –without-http_proxy_module –禁止構建HTTP伺服器的代理模組
  • –without-http_ssl_module –允許構建添加了HTTPS協議支援的HTTP伺服器模組。這個模組預設不被構建。執行該模組需要OpenSSL庫。
  • –with-pcre=path –設定PCRE庫的原始碼路徑。該庫的分發包(版本號4.4-8.40)需要從PCRE網站下載和提取。其餘的由nginx的./configure和make完成。location指令的正則表示式支援和ngx_http_rewrite_module模組都需要改庫。
  • –with-pcre-jit –使用“即時編譯”支援來構建PCRE庫(1.1.12,pcre_jit指令)
  • –with-zlib=path –設定zlib庫的原始碼路徑。該庫的分法包(版本號1.1.3-1.2.11)需要從zlib網站下載和提取。其餘的由nginx的./configure和make完成。ngx_http_gzip_module模組需要該庫。
  • –with-cc-opt=parameters –設定將被新增到CFLAGS變數的額外引數。當在FreeBSD下使用系統PCRE庫時,應該指定—with-cc-opt=”-I /usr/local/include”。如果需要增加被select()支援的檔案的數量,也可以像這樣指定:–with-cc-opt”-D FD_SETSIZE=2048”。
  • –with-ld-opt=parameters –設定將被在連結期間使用的額外引數。當在FreeBSD下使用系統PCRE庫時,應該指定—with-ld-opt=”-L /usr/local/lib”。

引數使用範例(所有這些需要在一行輸入):

./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.40

--with-zlib=../zlib-1.2.11

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