1. 程式人生 > 其它 >Nginx之簡介及安裝(1)

Nginx之簡介及安裝(1)

Nginx簡介及安裝

Nginx簡介

Nginx是一個高效能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP代理伺服器,目前國內70%以上公司都在使用nginx作為自己的web伺服器。Nginx特點是佔有記憶體少、併發能力強,事實上nginx的併發能力確實在同類型的網頁伺服器中表現較好。

Nginx相對於Apache優點:

  1. 高併發響應效能非常好,官方Nginx處理靜態檔案併發5w/s
  2. 反向代理效能非常強(可用於負載均衡)
  3. 記憶體和cpu佔用率底(為Apache的1/5--1/10)
  4. 對後端服務有健康檢查功能
  5. 支援PHP cgi方式和fastcgi方式
  6. 配置程式碼簡潔且容易上手

Nginx模組

核心模組:HTTP模組、EVENT模組和MAIL模組

基礎模組:HTTP Access模組、HTTP FastCGI模組、HTTP Proxy模組和HTTP Rewrite模組

第三方模組:HTTP Upstream Request Hash模組、Notice模組和HTTP Access Key模組

Nginx安裝

#環境準備
[root@aliyun ~]# yum install -y vim gcc telnet lrzsz openssl openssl-devel pcre pcre-devel
#下載Nginx原始碼包
[root@aliyun ~]# wget -c http://nginx.org/download/nginx-1.1.18.tar.gz
#建立nginx使用者,並設定為不能登陸
[root@aliyun ~]# useradd -r -s /sbin/nologin nginx
#解壓
[root@aliyun ~]# tar -xzf nginx-1.1.18.tar.gz 
#進入解壓目錄,進行預編譯
[root@aliyun nginx-1.1.18]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
[root@aliyun nginx-1.1.18]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install
#檢查nginx配置檔案是否正確,返回ok即正確
[root@aliyun ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
#啟動,測試nginx
[root@aliyun ~]# /usr/local/nginx/sbin/nginx
[root@aliyun ~]# ps -aux | grep nginx | grep -v grep
root     12091  0.0  0.0  45944  1088 ?        Ss   10:03   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx    12092  0.0  0.0  46348  1636 ?        S    10:03   0:00 nginx: worker process
#啟動成功

常用編譯選項說明

nginx大部分常用模組,編譯時,.configure --help--without開頭的都是預設安裝

  • --prefix=PATH:指定nginx的安裝目錄,預設/usr/local/nginx
  • --conf-path=PATH:設定nginx.conf配置檔案的路徑。nginx允許使用不同的配置檔案啟動,通過命令列中的-c選項。預設為prefix/conf/nginx.conf
  • --user=name:設定nginx工作程序的使用者。安裝完成後,可以隨時在nginx.conf配置檔案更改user指令。預設使用者名稱是nobody。--group=name類似
  • --with-pcre:設定PCRE庫的原始碼路徑,如果已通過yum命令安裝,使用--wiith-pcre自動找到庫檔案。使用--with-pcre=PATH
    時,需要從PCRE網站下載pcre庫的原始碼並解壓,剩下的交給nginx的./configuremake完成。perl正則表示式使用在location指令ngx_http_rewrite_module模組中。
  • --with-zlib=PATH:指定zlib的原始碼解壓目錄。在預設就啟用的網路傳輸壓縮模組ngx_http_gzip_module時需要使用zlib
  • --with-http_ssl_module:使用https協議模組。預設情況下,該模組沒有被構建。前提是openssl與openssl-devel已安裝
  • --with-http_stub_status_module:用來監控nginx的當前狀態
  • --with-http_realip_module:通過這個模組允許我們改變客戶端請求頭中客戶端IP地址值(如X-Real-IP或X-Forwarded-For),意義在於能夠使得後臺伺服器記錄原始客戶端的IP地址。
  • --add-module=PATH:新增第三方外部模組,如nginx-sticky-module-ng或快取模組,每次新增新的模組都要重新編譯(Tengine可以在新加入module時無需重新編譯)

轉自:https://www.cnblogs.com/maxtgood/p/9597596.html