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。