Nginx從原始碼構建安裝組態


使用configure命令組態構建。 它定義了系統的各個方面,包括允許使用nginx進行連線處理的方法。 最後它建立一個Makefileconfigure命令支援以下引數:

  • --prefix = path - 定義將保留伺服器檔案的目錄。 這個同一個目錄也將用於由configure(除了庫源的路徑)和nginx.conf組態檔案中設定的所有相關路徑。 它預設設定為/usr/local/nginx目錄。

  • --sbin-path = path - 設定nginx可執行檔案的名稱。此名稱僅在安裝期間使用。預設情況下檔案名為 prefix/sbin/nginx

  • --conf-path = path - 設定nginx.conf組態檔案的名稱。 如果需要,nginx可以始終使用不同的組態檔案啟動,方法是在命令列引數-c file 指定。 預設情況下,該檔案名為:prefix/conf/nginx.conf

  • --pid-path = path - 設定將儲存主進程的進程ID的nginx.pid檔案的名稱。 安裝後,可以使用pid指令在nginx.conf組態檔案中更改檔案名。 預設情況下,檔案名為:prefix/logs/nginx.pid

  • --error-log-path = path - 設定主錯誤,警告和診斷檔案的名稱。 安裝後,可以在nginx.conf組態檔案中使用error_log指令更改檔案名。 預設情況下,檔案名為:prefix/logs/error.log

  • --http-log-path = path - 設定HTTP伺服器主要請求紀錄檔檔案的名稱。 安裝後,可以使用access_log指令在nginx.conf組態檔案中更改檔案名。 預設情況下,檔案名為:prefix/logs/access.log

  • --build = name - 設定一個可選的nginx構建名稱。

  • --user = name - 設定非特權使用者的名稱,該使用者的憑據將由工作進程使用。 安裝後,可以使用user指令在nginx.conf組態檔案中更改名稱。 預設的使用者名是:nobody

  • --group = name - 設定由工作進程使用其憑據的組的名稱。 安裝後,可以使用user指令在nginx.conf組態檔案中更改名稱。 預設情況下,組名稱設定為非特權使用者的名稱。

  • --with-select_module--without-select_module — 啟用或禁用構建允許伺服器使用select()方法的模組。 如果平台似乎不支援更合適的方法(如kqueueepoll/dev/poll),則會自動構建該模組。

  • --with-poll_module--without-poll_module — 啟用或禁用構建允許伺服器使用poll()方法的模組。 如果平台似乎不支援更合適的方法(如kqueueepoll/dev/poll),則會自動構建該模組。

  • --without-http_gzip_module - 禁用構建壓縮HTTP伺服器響應的模組。 需要zlib庫來構建和執行此模組。

  • --without-http_rewrite_module - 禁用構建一個允許HTTP伺服器重定向請求並更改請求URI的模組。 需要PCRE庫來構建和執行此模組。
  • --without-http_proxy_module - 禁用構建HTTP伺服器代理模組。
  • --with-http_ssl_module - 可以構建一個將HTTPS協定支援新增到HTTP伺服器的模組。 預設情況下不構建此模組。 OpenSSL庫是構建和執行該模組所必需的。
  • --with-pcre = path - 設定PCRE庫源的路徑。庫發行版(4.4 - 8.40版)需要從PCRE站點下載並提取。 其餘的由nginx的./configuremake完成。 該庫是 location 指令和ngx_http_rewrite_module模組中正規表示式支援所必需的。
  • --with-pcre-jit - 使用「即時編譯」支援構建PCRE庫。
  • --with-zlib = path - 設定zlib庫的源路徑。 庫分發(版本1.1.3 - 1.2.11)需要從zlib站點下載並提取。 其餘的由nginx的./configuremake完成。 該庫是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。