從源代碼編譯應用程序時通常有三個步驟:配置,編譯和安裝。 配置步驟允許您選擇一些在程序編譯后無法編輯的選項,因為它對程序二進制文件有直接影響。 因此,這是一個非常重要的階段,你需要仔細選擇,如果你想避免后面的麻煩,如缺乏一個特定的模塊或配置文件位於一個隨機文件夾等。
簡單安裝
<br\>
如果由於某種原因,您不想使安裝這么麻煩(例如用於測試目的或僅僅因為您以后會重新編譯程序),則可以直接使用不帶參數的configure命令。 執行以下三個命令來編譯和安裝Nginx的工作版本,從configure命令開始:
- [alex@example.com nginx-1.8.0]# ./configure
運行此命令需要比較長的時間來進行驗證過程,以確保您的系統包含所有必需的組件。 如果配置過程失敗,請再次檢查安裝依賴部分,因為它是錯誤的最常見原因。 有關命令失敗原因的信息,您還可以參考objs/autoconf.err文件,其中提供了更詳細的報告。 make命令將編譯應用程序。 只要配置正確,此步驟不應出現任何錯誤。
- [alex@example.com nginx-1.8.0]# make
- [root@example.com nginx-1.8.0]# make install
這最后一步將編譯文件以及其他資源復制到安裝目錄,默認是/usr/local/nginx。
Path選項
<br\>
| 參數 | 用途 | 默認值 |
|---|---|---|
| –prefix=… | Nginx安裝的基礎目錄 | /usr/local/nginx |
| –sbin-path=… | Nginx二進制安裝目錄 | /sbin/nginx. |
| –conf-path=… | 主配置文件安裝位置 | /conf/nginx.conf. |
| –error-log-path=… | 錯誤日志位置 | /logs/error.log. |
| –pid-path=… | Nginx pid文件路徑,可以在配置文件指定 | /logs/nginx.pid. |
| –lock-path=… | 鎖文件位置 | /logs/nginx.lock. |
| –with-perl_ modules_path=… |
Perl模塊位置 | |
| –with-perl=… | Perl二進制文件路徑 | |
| –http-log- path=… |
訪問日志路徑,可以在配置文件指定 | /logs/access.log. |
| –http-client- body-temp-path=… |
存放由客戶端請求生成的臨時文件路徑 | /client_body_temp. |
| –http-proxy- temp-path=… |
proxy產生的臨時文件路徑 | /proxy_temp. |
| –http-fastcgi- temp-path=… –http-uwsgi- temp-path=… –http-scgi- temp-path=… |
由HTTP,FastCGI, uWSGI和SCGI模塊產生的臨時文件路徑 | / fastcgi_temp, /uwsgi_temp, and/scgi_temp. |
依賴選項
<br\>
依賴以庫和二進制文件的形式出現。 現在,它們應該已經全部安裝在您的系統上了。 但是,即使它們存在於您的系統上,也有可能出現配置腳本無法找到它們的情況。 原因可能有所不同,例如,如果它們安裝在非標准目錄中。
為了解決這些問題,您可以使用以下選項來指定依賴的路徑(其他依賴相關選項已組合在一起):
| 編譯選項 | 描述 |
| –with-cc=… | 指定C編譯器的備用位置。 |
| –with-cpp=… | 指定C預處理器的備用位置。 |
| –with-cc-opt=… | 定義要傳遞到C編譯器命令行的其他選項。 |
| –with-ld-opt=… | 定義要傳遞到C鏈接器命令行的其他選項。 |
| –with-cpu-opt=… | 在以下值中指定不同的目標處理器體系結構:pentium,pentiumpro,pentium3,pentium4,athlon,opteron,sparc32,sparc64和ppc64。 |
| PCRE選項 | 描述 |
| –without-pcre | 禁用PCRE庫的使用。 不建議使用此設置,因為它將刪除對正則表達式的支持,從而禁用Rewrite模塊。 |
| –with-pcre | 強制使用PCRE庫。 |
| –with-pcre=… | 允許您指定PCRE庫源代碼的路徑。 |
| –with-pcre-opt=… | 構建PCRE庫的其他選項。 |
| –with-pcre-jit=… | 構建PCRE與JIT編譯的支持。 |
| MD5選項 | 描述 |
| –with-md5=… | 指定MD5庫源的路徑。 |
| –with-md5-opt=… | 用於構建MD5庫的其他選項。 |
| –with-md5-asm | 為MD5庫指定匯編源。 |
| SHA1選項 | 描述 |
| –with-sha1=… | 指定SHA1庫源的路徑。 |
| –with-sha1-opt=… | 構建SHA1庫的其他選項。 |
| –with-sha1-asm | 為SHA1庫指定匯編器源。 |
| zlib選項 | 描述 |
| –with-zlib=… | 指定zlib library源的路徑。 |
| –with-zlib-opt=… | 用於構建zlib庫的其他選項。 |
| –with-zlib-asm=… | 為zlib庫指定匯編器源。 |
| OpenSSL選項 | 描述 |
| –with-openssl=… | 指定OpenSSL庫源的路徑。 |
| –with-openssl-opt=… | 用於構建OpenSSL庫的其他選項。 |
模塊選項
<br\>
在編譯程序之前,需要指定要安裝的模塊。 有些是默認啟用的,有些需要手動啟用,如下表所示。
默認啟用的模塊
以下參數允許您禁用默認情況下啟用的模塊:
–without-http_charset_module
–without-http_gzip_module
–without-http_ssi_module
–without-http_userid_module
–without-http_access_module
–without-http_access_module
–without-http_autoindex_module
–without-http_geo_module
–without-http_map_module
–without-http_referer_module
–without-http_rewrite_module
–without-http_proxy_module
–without-http_fastcgi_module
–without-http_uwsgi_module
–without-http_scgi_module
–without-http_memcached_module
–without-http_limit_conn_module
–without-http_limit_req_module
–without-http_empty_gif_module
–without-http_browser_module
–without-http_upstream_ip_hash_module
–without-http_upstream_least_conn_module
–without-http_split_clients_module
默認禁用的模塊
以下參數允許您啟用默認禁用的模塊:
–with-http_ssl_module
–with-http_realip_module
–with-http_addition_module
–with-http_xslt_module
–with-http_image_filter_module
–with-http_geoip_module
–with-http_sub_module
–with-http_dav_module
–with-http_flv_module
–with-http_mp4_module
–with-http_gzip_static_module
–with-http_random_index_module
–with-http_secure_link_module
–with-http_stub_status_module
–with-google_perftools_module
–with-http_degradation_module
–with-http_perl_module
–with-http_spdy_module
–with-http_gunzip_module
–with-http_auth_request_module
