Nginx簡介:(摘自百度百科)html
Nginx ("engine x") 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。Nginx是由Igor Sysoev爲俄羅斯訪問量第二的Rambler.ru站點開發的,第一個公開版本0.1.0發佈於2004年10月4日。其將源代碼以類BSD許可證的形式發佈,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4發佈。nginx
Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,供俄國大型的入口網站及搜索引擎Rambler(俄文:Рамблер)使用。其特色是佔有內存少,併發能力強,事實上nginx的併發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、新浪、網易、騰訊等。c++
百度百科地址:web
系統版本:CentOS 6.5算法
Nginx版本:nginx-1.8.1.tar.gz瀏覽器
1、下載nginx緩存
# wget http://nginx.org/download/nginx-1.8.1.tar.gz
2、安裝:安全
# cd /usr/local/src/
安裝make:
bash
# yum -y install gcc automake autoconf libtool make
安裝g++:
# yum -y install gcc gcc-c++
安裝pcre庫:(重寫rewrite須要)
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz # tar xvzf pcre-8.37.tar.gz # cd pcre-8.37 # ./configure # make # make install
安裝zlib庫:(開啓gzip壓縮須要)
# wget http://zlib.net/zlib-1.2.8.tar.gz # tar xvzf zlib-1.2.8.tar.gz # cd zlib-1.2.8 # ./configure # make # make install
安裝openssl:(啓用ngx_http_ssl_module支持)
# wget ftp://ftp.openssl.org/source/old/1.0.1/openssl-1.0.1p.tar.gz # tar xvzf openssl-1.0.1p.tar.gz
安裝nginx:
# wget http://nginx.org/download/nginx-1.8.1.tar.gz # tar xvzf nginx-1.8.1.tar.gz # cd nginx-1.8.1 # ./configure --prefix=/opt/nginx --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-openssl=/usr/local/src/openssl-1.0.1p # make # make install
安裝完成nginx以後,目錄結構爲:
# tree nginx/ nginx/ ├── conf │ ├── fastcgi.conf │ ├── fastcgi.conf.default │ ├── fastcgi_params │ ├── fastcgi_params.default │ ├── koi-utf │ ├── koi-win │ ├── mime.types │ ├── mime.types.default │ ├── nginx.conf │ ├── nginx.conf.default │ ├── scgi_params │ ├── scgi_params.default │ ├── uwsgi_params │ ├── uwsgi_params.default │ └── win-utf ├── html │ ├── 50x.html │ └── index.html ├── logs └── sbin └── nginx
啓動nginx:
# /opt/nginx/sbin/nginx
查看是否開啓端口:
# netstat -ntlp |grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 48623/nginx
瀏覽器訪問:
http://IP/
nginx的configure命令支持如下參數:
--prefix= 指向安裝目錄
--sbin-path= 指向(執行)程序文件(nginx)
--conf-path= 指向配置文件(nginx.conf)
--error-log-path= 指向錯誤日誌目錄
--pid-path= 指向pid文件(nginx.pid)
--lock-path= 指向lock文件(nginx.lock)(安裝文件鎖定,防止安裝文件被別人利用,或本身誤操做。)
--user= 指定程序運行時的非特權用戶
--group= 指定程序運行時的非特權用戶組
--builddir= 指向編譯目錄
--with-rtsig_module 啓用rtsig模塊支持(實時信號)
--with-select_module 啓用select模塊支持(一種輪詢模式,不推薦在高載環境下使用)禁用:--without-select_module
--with-poll_module 啓用poll模塊支持(功能與select相同,與select特性相同,爲一種輪詢模式,不推薦在高載環境下使用)
--with-file-aio 啓用file aio支持(一種APL文件傳輸格式)
--with-ipv6 啓用ipv6支持
--with-http_ssl_module 啓用ngx_http_ssl_module支持(使支持https請求,需已安裝openssl)
--with-http_realip_module 啓用ngx_http_realip_module支持(這個模塊容許從請求標頭更改客戶端的IP地址值,默認爲關)
--with-http_addition_module 啓用ngx_http_addition_module支持(做爲一個輸出過濾器,支持不徹底緩衝,分部分響應請求)
--with-http_xslt_module 啓用ngx_http_xslt_module支持(過濾轉換XML請求)
--with-http_p_w_picpath_filter_module 啓用ngx_http_p_w_picpath_filter_module支持(傳輸JPEG/GIF/PNG 圖片的一個過濾器)(默認爲不啓用。gd庫要用到)
--with-http_geoip_module 啓用ngx_http_geoip_module支持(該模塊建立基於與MaxMind GeoIP二進制文件相配的客戶端IP地址的ngx_http_geoip_module變量)
--with-http_sub_module 啓用ngx_http_sub_module支持(容許用一些其餘文本替換nginx響應中的一些文本)
--with-http_dav_module 啓用ngx_http_dav_module支持(增長PUT,DELETE,MKCOL:建立集合,COPY和MOVE方法)默認狀況下爲關閉,需編譯開啓
--with-http_flv_module 啓用ngx_http_flv_module支持(提供尋求內存使用基於時間的偏移量文件)
--with-http_gzip_static_module 啓用ngx_http_gzip_static_module支持(在線實時壓縮輸出數據流)
--with-http_random_index_module 啓用ngx_http_random_index_module支持(從目錄中隨機挑選一個目錄索引)
--with-http_secure_link_module 啓用ngx_http_secure_link_module支持(計算和檢查要求所需的安全連接網址)
--with-http_degradation_module 啓用ngx_http_degradation_module支持(容許在內存不足的狀況下返回204或444碼)
--with-http_stub_status_module 啓用ngx_http_stub_status_module支持(獲取nginx自上次啓動以來的工做狀態)
--without-http_charset_module 禁用ngx_http_charset_module支持(從新編碼web頁面,但只能是一個方向–服務器端到客戶端,而且只有一個字節的編碼能夠被從新編碼)
--without-http_gzip_module 禁用ngx_http_gzip_module支持(該模塊同--with-http_gzip_static_module功能同樣)
--without-http_ssi_module 禁用ngx_http_ssi_module支持(該模塊提供了一個在輸入端處理處理服務器包含文件(SSI)的過濾器,目前支持SSI命令的列表是不完整的)
--without-http_userid_module 禁用ngx_http_userid_module支持(該模塊用來處理用來肯定客戶端後續請求的cookies)
--without-http_access_module 禁用ngx_http_access_module支持(該模塊提供了一個簡單的基於主機的訪問控制。容許/拒絕基於ip地址)
--without-http_auth_basic_module禁用ngx_http_auth_basic_module(該模塊是可使用用戶名和密碼基於http基本認證方法來保護你的站點或其部份內容)
--without-http_autoindex_module 禁用disable ngx_http_autoindex_module支持(該模塊用於自動生成目錄列表,只在ngx_http_index_module模塊未找到索引文件時發出請求。)
--without-http_geo_module 禁用ngx_http_geo_module支持(建立一些變量,其值依賴於客戶端的IP地址)
--without-http_map_module 禁用ngx_http_map_module支持(使用任意的鍵/值對設置配置變量)
--without-http_split_clients_module 禁用ngx_http_split_clients_module支持(該模塊用來基於某些條件劃分用戶。條件如:ip地址、報頭、cookies等等)
--without-http_referer_module 禁用disable ngx_http_referer_module支持(該模塊用來過濾請求,拒絕報頭中Referer值不正確的請求)
--without-http_rewrite_module 禁用ngx_http_rewrite_module支持(該模塊容許使用正則表達式改變URI,而且根據變量來轉向以及選擇配置。若是在server級別設置該選項,那麼他們將在 location以前生效。若是在location還有更進一步的重寫規則,location部分的規則依然會被執行。若是這個URI重寫是由於location部分的規則形成的,那麼 location部分會再次被執行做爲新的URI。 這個循環會執行10次,而後Nginx會返回一個500錯誤。)
--without-http_proxy_module 禁用ngx_http_proxy_module支持(有關代理服務器)
--without-http_fastcgi_module 禁用ngx_http_fastcgi_module支持(該模塊容許Nginx 與FastCGI 進程交互,並經過傳遞參數來控制FastCGI 進程工做。 )FastCGI一個常駐型的公共網關接口。
--without-http_uwsgi_module 禁用ngx_http_uwsgi_module支持(該模塊用來醫用uwsgi協議,uWSGI服務器相關)
--without-http_scgi_module 禁用ngx_http_scgi_module支持(該模塊用來啓用SCGI協議支持,SCGI協議是CGI協議的替代。它是一種應用程序與HTTP服務接口標準。它有些像FastCGI但他的設計 更容易實現。)
--without-http_memcached_module 禁用ngx_http_memcached_module支持(該模塊用來提供簡單的緩存,以提升系統效率)
--without-http_limit_zone_module 禁用ngx_http_limit_zone_module支持(該模塊能夠針對條件,進行會話的併發鏈接數控制)
--without-http_limit_req_module 禁用ngx_http_limit_req_module支持(該模塊容許你對於一個地址進行請求數量的限制用一個給定的session或一個特定的事件)
--without-http_empty_gif_module 禁用ngx_http_empty_gif_module支持(該模塊在內存中常駐了一個1*1的透明GIF圖像,能夠被很是快速的調用)
--without-http_browser_module 禁用ngx_http_browser_module支持(該模塊用來建立依賴於請求報頭的值。若是瀏覽器爲modern ,則$modern_browser等於modern_browser_value指令分配的值;如 果瀏覽器爲old,則$ancient_browser等於 ancient_browser_value指令分配的值;若是瀏覽器爲 MSIE中的任意版本,則 $msie等於1)
--without-http_upstream_ip_hash_module 禁用ngx_http_upstream_ip_hash_module支持(該模塊用於簡單的負載均衡)
--with-http_perl_module 啓用ngx_http_perl_module支持(該模塊使nginx能夠直接使用perl或經過ssi調用perl)
--with-perl_modules_path= 設定perl模塊路徑
--with-perl= 設定perl庫文件路徑
--http-log-path= 設定access log路徑
--http-client-body-temp-path= 設定http客戶端請求臨時文件路徑
--http-proxy-temp-path= 設定http代理臨時文件路徑
--http-fastcgi-temp-path= 設定http fastcgi臨時文件路徑
--http-uwsgi-temp-path= 設定http uwsgi臨時文件路徑
--http-scgi-temp-path= 設定http scgi臨時文件路徑
--without-http 禁用http server功能
–without-http-cache 禁用http cache功能
–with-mail 啓用POP3/IMAP4/SMTP代理模塊支持
--with-mail_ssl_module 啓用ngx_mail_ssl_module支持
--without-mail_pop3_module 禁用pop3協議(POP3即郵局協議的第3個版本,它是規定我的計算機如何鏈接到互聯網上的郵件服務器進行收發郵件的協議。是因特網電子郵件的第一個離線協議標 準,POP3協議容許用戶從服務器上把郵件存儲到本地主機上,同時根據客戶端的操做刪除或保存在郵件服務器上的郵件。POP3協議是TCP/IP協議族中的一員,主要用於 支持使用客戶端遠程管理在服務器上的電子郵件)
--without-mail_imap_module 禁用imap協議(一種郵件獲取協議。它的主要做用是郵件客戶端能夠經過這種協議從郵件服務器上獲取郵件的信息,下載郵件等。IMAP協議運行在TCP/IP協議之上, 使用的端口是143。它與POP3協議的主要區別是用戶能夠不用把全部的郵件所有下載,能夠經過客戶端直接對服務器上的郵件進行操做。)
--without-mail_smtp_module 禁用smtp協議(SMTP即簡單郵件傳輸協議,它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。SMTP協議屬於TCP/IP協議族,它幫助每臺計算機在發送或中轉信件時找到下一個目的地。)
--with-google_perftools_module 啓用ngx_google_perftools_module支持(調試用,剖析程序性能瓶頸)
--with-cpp_test_module 啓用ngx_cpp_test_module支持
--add-module= 啓用外部模塊支持
--with-cc= 指向C編譯器路徑
--with-cpp= 指向C預處理路徑
--with-cc-opt= 設置C編譯器參數(PCRE庫,須要指定--with-cc-opt=」-I /usr/local/include」,若是使用select()函數則須要同時增長文件描述符數量,能夠經過–with-cc- opt=」-D FD_SETSIZE=2048」指定。)
--with-ld-opt= 設置鏈接文件參數。(PCRE庫,須要指定--with-ld-opt=」-L /usr/local/lib」。)
--with-cpu-opt= 指定編譯的CPU,可用的值爲: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64
--without-pcre 禁用pcre庫
--with-pcre 啓用pcre庫
--with-pcre= 指向pcre庫文件目錄
--with-pcre-opt= 在編譯時爲pcre庫設置附加參數
--with-md5= 指向md5庫文件目錄(消息摘要算法第五版,用以提供消息的完整性保護)
--with-md5-opt= 在編譯時爲md5庫設置附加參數
--with-md5-asm 使用md5彙編源
--with-sha1= 指向sha1庫目錄(數字簽名算法,主要用於數字簽名)
--with-sha1-opt= 在編譯時爲sha1庫設置附加參數
--with-sha1-asm 使用sha1彙編源
--with-zlib= 指向zlib庫目錄
--with-zlib-opt= 在編譯時爲zlib設置附加參數
--with-zlib-asm= 爲指定的CPU使用zlib彙編源進行優化,CPU類型爲pentium, pentiumpro
--with-libatomic 爲原子內存的更新操做的實現提供一個架構
--with-libatomic= 指向libatomic_ops安裝目錄
--with-openssl= 指向openssl安裝目錄
--with-openssl-opt 在編譯時爲openssl設置附加參數
--with-debug 啓用debug日誌
更多內容,請關注博主我的博客網站:http://www.whysha.com