構建Nginx WEB伺服器
nginx [engine x]是Igor Sysoev編寫的一個HTTP和反向代理伺服器,另外它也可以作為郵件代理伺服器。它已經在眾多流量很大的俄羅斯網站上使用了很長時間,這些網站包括Yandex、Mail.Ru、VKontakte,以及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] ~]#