標籤:加密 directory nload 應用 開啟 表達 自動 upstream stream
安裝依賴軟體1、安裝編譯工具gcc
gcc是一個開源編譯器集合,用於處理各種各樣的語言:C、C++、Java、Ada等,在linux世界中是最通用的編譯器,支援大量處理器:x86、AMD64、PowerPC、ARM、MIPS等。
首先確定系統是否安裝gcc
| [[email protected] ~]# gcc |
若輸出以下訊息則已經安裝gcc:
若輸出以下訊息則未安裝gcc:
使用包管理器yum安裝gcc:
| [[email protected] ~]# yum -y install gcc |
2.安裝PCRE庫
nginx的Rewrite模組和HTTP核心模組會使用到PCRERegex文法,因此nginx編譯需要使用PCRE(Perl Compatible Regular Expression)庫,需要安裝pcre和pcre-devel,pcre提供編譯版本的庫,pcre-devel提供開發階段的標頭檔和編譯項目的原始碼。
使用yum安裝:
| [[email protected] ~]# yum -y install pcre pcre-devel |
如果系統已經安裝了pcre包則會輸出:
即系統沒有安裝或升級pcre。
3.安裝zlib庫
zlib庫提供了壓縮演算法,在nginx的各種模組中需要使用gzip壓縮,因此需要安裝zlib庫和zlib-devel(zlib原始碼)。
| [[email protected] ~]# yum -y install zlib zlib-devel |
4.安裝OpenSSL
OpenSSL項目是一個協作開發健壯的、商業級的、全功能的執行於安全套接層(SSL v2/v3)和傳輸層安全(TLS v1)的協議,也是一個完整強壯的通用加密庫。在nginx中如果伺服器需要提供安全網頁則會用到OpenSSL庫,因此需要安裝它的庫檔案和它的開發安裝包。
yum安裝openssl和openssl-devel
| [[email protected] ~]# yum -y install openssl openssl-devel |
安裝nginx
可以去nginx官網找到各個版本的連結
下載並解壓:
[[email protected] src]# wget http://nginx.org/download/nginx-1.10.1.tar.gz [[email protected] src]# tar zxvf nginx-1.10.1.tar.gz [[email protected] src]# cd nginx-1.10.1 |
##配置選項linux下建立一個應用程式分為三步,配置原始碼、編譯、安裝編譯,配置步驟可以選擇更多選項,這些選項在程式安裝完成後不可編輯,配置即添加某些開關選項(switch)到配置(configure)指令碼,可以啟用的開關類型有三種。###**容易的安裝方法**不加任何配置參數直接編譯安裝nginx
[[email protected] src]# ./configure [[email protected] src]# make&&make install |
路徑選項
在運行configure指令碼命令的時候,可能需要開啟一些開關選項,開關選項可能因為下載的版本不同有差異,使用./configure --help 列出有效開關選項:
| 路徑選項 |
用法 |
預設值 |
| –prefix |
nginx安裝位置 |
/usr/local/nginx |
| –sbin-path |
nginx二進位執行檔案路徑 |
/sbin/nginx |
| –conf-path |
設定檔存放位置 |
/conf/nginx.conf |
| –error-log-path |
錯誤記錄檔檔案位置 |
/logs/error.log |
| –pid-path |
pid檔案路徑 |
/logs/nginx.pid(pid檔案包含進程的標識符) |
| –lock-path |
鎖檔案存放路徑 |
/logs/nginx.log(鎖檔案用於控制nginx進程沒有被啟動兩次) |
| –with-perl_modules_path |
perl模組路徑(如果需要包含另外的perl模組,必須定義該參數) |
|
| –with-perl |
perl執行檔案路徑 |
|
| –http-log-path |
訪問記錄檔路徑 |
/logs/access.log |
| –http-client-body-temp-path |
用戶端請求產生的臨時檔案路徑 |
/client_body_temp |
| –http-proxy-temp-path |
代理儲存臨時檔案路徑 |
/proxy_temp_path |
| –http-fastcgi-temp-path |
HTTP FastCGI模組使用的臨時檔案路徑 |
|
| –builddir |
建立應用程式位置 |
|
先決條件選項
先決條件的格式有庫檔案和二進位檔案,在配置之前需要先安裝這些依賴軟體,有時即使這些軟體已經安裝在系統中,可能有時配置指令碼還是找不到它們的位置,因此可以使用開關項指出它們的路徑。
| 編譯選項 |
用法 |
| –with-cc |
指定C編譯器位置 |
| –with-cpp |
指定備用C預先處理位置 |
| –with-cc-opt |
定義額外選項,然後在命令列傳遞給C編譯器 |
| –with-ld-opt |
定義額外選項,然後在命令列傳遞給C連接器 |
| –with-cpu-opt |
指定不同的目標處理器結構,可以是下列值:pentium、pentiumpro、ppc64等 |
| PCRE選項 |
用法 |
| –without-pcre |
不使用PCRE庫() |
| –with-pcre |
強制使用pcre |
| –with-pcre=… |
指定pcre原始碼(注意不是安裝目錄) |
| –with-pcre-opt |
用於建立PCRE庫的額外選項 |
| MD5選項 |
用法 |
| –with-md5=… |
指定MD5庫原始碼路徑 |
| –with-md5-opt |
建立MD5庫的另外選項 |
| –with-md5-asm |
建立MD5庫使用組合語言原始碼 |
| SHA1選項 |
用法 |
| –with-sha1=… |
原始碼路徑 |
| –with-sha1-opt |
建立SHA1庫的另外選項 |
| –with-sha1-asm |
建立SHA1庫使用組合語言原始碼 |
| zlib選項 |
用法 |
| –with-zlib |
原始碼路徑 |
| –with-zlib-opt |
建立zlib庫的另外選項 |
| –with-zlib-asm |
使用組合語言最大限度的最佳化下列目標結構:Pentium、pentiumpro |
| OpenSSL選項 |
用法 |
| –with-openssl |
原始碼路徑 |
| –with-openssl-opt |
建立openssl庫的另外選項 |
模組選項
在編譯nginx之前需要選擇模組,一些模組預設開啟,有些模組需要手動開啟。
| 預設禁用模組 |
描述 |
| –without-http_charset_module |
禁用Charset模組,該模組用於對網頁重新編碼 |
| –without-http_gzip_module |
禁用gzip壓縮模組 |
| –without-http_ssi_module |
禁用服務端包含模組 |
| –without-http_userid_module |
禁用使用者ID模組,該模組為使用者通過cookie驗證身份 |
| –without-http_access_module |
禁用訪問模組,對於指定的IP段,允許訪問配置 |
| –without-http_auth_basic_module |
禁用基本的認證模組 |
| –without-http_autoindex_module |
禁用自動索引模組 |
| –without-http_geo_module |
禁用Geo模組,該模組允許你定義依賴於IP位址區段的變數 |
| –without-http_map_module |
禁用map模組,該模組允許你定義map區段 |
| –without-http_referer_module |
禁用referer控制模組 |
| –without-http_rewrite_module |
禁用rewrite模組 |
| –without-http_proxy_module |
禁用代理模組,該模組用於向其他伺服器傳輸請求 |
| –without-http_fastcgi_module |
禁用FastCGI模組,該模組用於和FastCGI進程配合工作 |
| –without-http_memcached_module |
禁用memcached模組 |
| –without-http_limit_req_module |
禁用Limit Request模組,該模組允許限制每個使用者請求總數 |
| –without-http_empty_gif_module |
禁用Empty Gif模組,該模組用於在記憶體中提供空白GIF映像 |
| –without-http_browser_module |
禁用Browser模組,該模組用於解釋使用者代理程式字串 |
| –without-http_upstream_ip_hash_module |
禁用Upstream模組,該模組用於配置負載平衡結構 |
| 預設開啟模組 |
描述 |
| –with-http_ssl_module |
開啟SSL模組,支援使用HTTPS協議的網頁 |
| –with-http_realip_module |
開啟Real IP支援,該模組用於從使用者的要求標頭資料中讀取real IP地址 |
| –with-http_addition_module |
開啟Addition模組,該模組允許你追加或前置資料到響應的主體部分 |
| –with-http_xslt_module |
開啟XLST模組,該模組實現XLST轉化為XML文檔 |
| –with-http_image_filter_module |
開啟Image Filter模組,該模組允許修改映像(注意:若編譯該模組,需安裝libgd庫) |
| –with-http_geoip_module |
開啟GeoIP模組,該模組通過使用MaxMind’s GeoI位元據庫來擷取用戶端在地理上的分布(注意:如果希望編譯該模組,需要安裝libgeoip) |
| –with-http_sub_module |
開啟Substitution模組,該模組用於在網頁中替換文本 |
| –with-http_dav_module |
|
| –with-http_flv_module |
開啟FLV模組,該模組用於處理.flv(flash視頻)檔案 |
| –with-http_gzip_static_module |
開啟Gzip靜態模組,該模組用於發送預壓縮檔 |
| –with-http_random_index_module |
開啟Random Index模組,該模組用於挑選一個隨機的檔案作為該目錄的index |
| –with-http_secure_link_module |
開啟Secure Link模組,該模組用於在URL中檢測關鍵字的存在 |
| –with-http_stub_status_module |
開啟Stub Status模組,該模組會產生一個伺服器狀態和資訊頁 |
| –with-google_perftools_module |
開啟google效能工具 |
雜項
| 郵件服務代理 |
描述 |
| –with-mail |
開啟服務代理模組(mail server proxy),支援POP3,IMAP4和SMTP,該功能預設禁用 |
| –with-mail_ssl_module |
開啟郵件代理服務對SSL的支援,預設禁用 |
| –without-mail_pop3_module |
郵件代理模組禁用POP3功能,在開啟郵件代理模組後該功能預設啟用 |
| –without-mail_imap_module |
郵件代理模組禁用IMAP4功能,在開啟郵件代理模組後該功能預設啟用 |
| –without-mail_smtp_module |
郵件代理模組禁用SMTP功能,在開啟郵件代理模組後該功能預設啟用 |
| 事件管理(為nginx定時器選擇事件通知系統) |
描述 |
| –with-select_module |
開啟select模組,使用select作為事件通知機制,預設開啟 |
| –without-select_module |
禁用select模組 |
| –with-poll_module |
開啟poll模組,使用poll作為事件通知機制,預設開啟 |
| –without-poll_module |
禁用poll模組 |
| 使用者和組選項 |
描述 |
| –user=… |
指定啟動nginx進程的預設使用者 |
| –group=… |
指定啟動nginx進程的預設使用者組 |
| 其他選項 |
描述 |
| –with-ipv6 |
開啟對ipv6支援 |
| –without-http |
禁用http服務 |
| –without-http-cache |
禁用http緩衝功能 |
| –add-module |
通過指定的路徑編譯添加第三方模組,如果需要編譯多個模組,該選項可以多次使用 |
| –with-debug |
開啟記錄額外調試資訊 |
配置可能出現的錯誤問題
在運行configure命令時可能會報錯,大多數情況下是因為丟失先決條件或未指定路徑或目錄許可權,可以查看objs/autoconf.err檔案來查看編譯出錯問題。
編譯
一旦配置成功就可以編譯nginx,在原始碼目錄執行:
| [[email protected] src]#make |
成功編譯後將輸出以下資訊:
| make[1]: Leaving directory `/usr/local/src/nginx-1.10.1’ |
編譯過程可能出現錯誤,錯誤原因可能是找不到先決條件或指定路徑無效,如果是這種問題,可以檢查開關選項和路徑,重新執行configure編譯即可。還可能的錯誤原因是下載了比較新的nginx版本,新版本沒有很好的做到向下相容,這樣可以下載比較舊的穩定版本重新嘗試。
安裝
編譯成功後執行安裝命令:
| [[email protected] src]#make&&make install |
---------------------zsl10 來源:CSDN 原文:52181748?utm_source=copy 著作權聲明:本文為博主原創文章,轉載請附上博文連結!
源碼編譯安裝nginx