1. 程式人生 > >構建Nginx WEB伺服器

構建Nginx WEB伺服器

nginx [engine x]是Igor Sysoev編寫的一個HTTP和反向代理伺服器,另外它也可以作為郵件代理伺服器。它已經在眾多流量很大的俄羅斯網站上使用了很長時間,這些網站包括YandexMail.RuVKontakte,以及Rambler

據Netcraft統計,在2012年8月份,世界上最繁忙的網站中有11.48%使用Nginx作為其伺服器或者代理伺服器。目前網際網路主流公司360、百度、新浪、騰訊、阿里等都在使用nginx作為自己的web伺服器。

Nginx由核心和模組組成,其中,核心的設計非常微小和簡潔,完成的工作也非常簡單,僅僅通過查詢配置檔案將客戶端請求對映到一個location block(location是Nginx配置中的一個指令,用於URL匹配),而在這個location中所配置的每個指令將會啟動不同的模組去完成相應的工作。

Nginx相對於Apache優點:

1)  高併發響應效能非常好,官方Nginx處理靜態檔案併發5w/s

2)  反向代理效能非常好。(可用於負載均衡)

3)  記憶體和cpu佔用率低。(為Apache的1/5-1/10)

4)  功能較Apache少(常用功能均有)

5)  對php可使用cgi方式和fastcgi方式。

首先需要安裝pcre庫,然後再安裝Nginx:

#安裝pcre支援rewrite庫,也可以安裝原始碼,注*安裝原始碼時,指定pcre路徑為解壓

原始碼的路徑,而不是編譯後的路徑,否則會報錯

(make[1]: *** [/usr/local/pcre/Makefile] Error 127 錯誤)

yum install pcre-devel pcre -y

#下載Nginx原始碼包

#解壓Nginx原始碼包

tar -xzf nginx-1.4.2.tar.gz

#進入解壓目錄,然後sed修改Nginx版本資訊為WS

cd nginx-1.4.2 ; sed -i -e 's/1.4.2//g' -e's/nginx\//WS/g' -e

's/"NGINX"/"WS"/g' src/core/nginx.h

#預編譯Nginx

useradd www ;./configure --user=www --group=www--prefix=/usr/local/nginx --with-

http_stub_status_module --with-http_ssl_module

#.configure預編譯成功後,執行make命令進行編譯

make

#make執行成功後,執行make install 正式安裝

make install

#自此Nginx安裝完畢

/usr/local/nginx/sbin/nginx  -t  檢查nginx配置檔案是否正確,返回OK即正確。

[[email protected] ~]# /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

[[email protected] ~]#

然後啟動nginx,/usr/local/nginx/sbin/nginx回車即可。檢視程序是否已啟動:

[[email protected] ~]# ps -ef |grep nginx

nobody   5381 30285  0 May16 ?        00:04:31 nginx: worker process        

root    30285     1  0  2014?        00:00:00 nginx: master process/usr/local/nginx/sbin/nginx

root    32260 32220  0 12:34 pts/0    00:00:00 grep nginx

[[email protected] ~]#