Centos6.4下Nginx安裝

Centos6.4Nginx安裝html

 

Nginx ("engine x") 是一個高性能的 HTTP 和反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 爲俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站點運行超過三年了。Igor 將源代碼以類BSD許可證的形式發佈。nginx

 

NginxApache區別es6

 Nginx 超越 Apache 的高性能和穩定性,使得國內使用 Nginx 做爲 Web 服務器的網站也愈來愈多,其中包括新浪博客新浪播客網易新聞騰訊網搜狐博客等門戶網站頻道,六間房56.com等視頻分享網站,Discuz!官方論壇水木社區等知名論壇,盛大在線金山逍遙網等網絡遊戲網站,豆瓣人人網YUPOO相冊金山愛詞霸迅雷在線等新vim

    在高併發鏈接的狀況下,NginxApache服務器不錯的替代品。Nginx同時也能夠做爲7層負載均衡服務器來使用。根據個人測試結果,Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 能夠承受3萬以上的併發鏈接數,至關於同等環境下Apache10瀏覽器

    

爲何Nginx的性能要比Apache高得多?這得益於Nginx使用了最新的epollLinux 2.6內核)和kqueuefreebsd)網絡I/O模型,而Apache則使用的是傳統的select模型。目前Linux下可以承受高併發訪問的SquidMemcached都採用的是epoll網絡I/O模型。

  處理大量的鏈接的讀寫,Apache所採用的select網絡I/O模型很是低效。下面用一個比喻來解析Apache採用的select模型和Nginx採用的epoll模型進行之間的區別:

  假設你在大學讀書,住的宿舍樓有不少間房間,你的朋友要來找你。select版宿管大媽就會帶着你的朋友挨個房間去找,直到找到你爲止。而epoll版宿管大媽會先記下每位同窗的房間號,你的朋友來時,只需告訴你的朋友你住在哪一個房間便可,不用親自帶着你的朋友滿大樓找人。若是來了10000我的,都要找本身住這棟樓的同窗時,select版和epoll版宿管大媽,誰的效率更高,不言自明。同理,在高併發服務器中,輪詢I/O是最耗時間的操做之一,selectepoll的性能誰的性能更高,一樣十分明瞭。服務器

 

安裝:網絡

首先安裝搭建環境併發

Development tools負載均衡

Server Platform Developmentide

Additional Development

 

解壓nginxlibevent

[root@localhost ~]# tar -zxvf nginx-1.4.4.tar.gz -C /usr/local/src/

[root@localhost ~]# tar -zxvf libevent-2.0.21-stable.tar.gz -C /usr/local/src

[root@localhostlibevent-2.0.21-stable]#./configure --prefix=/usr/local/libevent 

[root@localhost libevent-2.0.21-stable]# make && make install

[root@localhost libevent]# vim /etc/ld.so.conf.d/libevent.conf

寫入 /usr/local/libevent/lib 保存退出

 

[root@localhost nginx-1.4.4]# ./configure \

--conf-path=/etc/nginx/nginx.conf \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_flv_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/tmp/nginx/client/ \

--http-proxy-temp-path=/var/tmp/nginx/proxy/ \

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

--with-pcre

 

[root@localhost nginx-1.4.4]# make && make install

[root@localhost nginx-1.4.4]# vim /etc/profile

加入PATH=$PATH/usr/local/nginx/sbin

[root@localhost nginx-1.4.4]# . /etc/profile

[root@localhost ~]# mkdir -pv /var/tmp/nginx/client

[root@localhost ~]# mkdir -pv /var/tmp/nginx/proxy

建立nginx組以及一個nginx帳戶所屬組爲nginx

[root@localhost nginx-1.4.4]# groupadd  -r nginx

[root@localhost nginx-1.4.4]# useradd -r -g nginx nginx

查看80端口是否打開

[root@localhost ~]# netstat -tupln |grep 80

而後啓動nginx

[root@localhost ~]# nginx

瀏覽器輸入主機地址,已經能夠正常訪問

 wKioL1N_ZM6j2p5NAAE4qa3mJmM636.jpg

 

 

案例:


現有兩個虛擬主機分別是某公司的主站點和技術部門,他們的ip和主目錄都已經給出,利用nginx分別實現基於ip、端口、主機頭的訪問

 

虛擬主機地址        目錄

192.168.10.100     /usr/local/nginx/html     主站點    www.mi.com

192.168.10.101     /usr/local/nginx/tec      技術部門   tec.mi.com

 

安裝同上

 

編輯nginx配置文件

[root@localhost ~]# vim /etc/nginx/nginx.conf

 

wKiom1N_ZPrDFA-yAAE0GZsaooE566.jpg 

把這部分拷貝一下,配置技術部門

wKioL1N_ZM_Qj5LLAAE0ZxjlVks425.jpg

 

 

 添加技術部門目錄和頁面

[root@localhost ~]# mkdir /usr/local/nginx/tec

[root@localhost ~]# cd /usr/local/nginx/tec/

[root@localhost tec]# echo "tec" >index.html

而後重啓nginx

測試:

 wKiom1N_ZPqB_zKUAABBe88Xies607.jpg

 wKioL1N_ZM_g4O4KAAA8n8COQ68531.jpg

 

若是ip地址比較少,能夠作基於端口的虛擬主機

只需把tecip改爲192.168.10.100,端口改成800

 wKiom1N_ZPuQQHwVAAC2dNJRey0475.jpg

重啓nginx後測試

 wKioL1N_ZM-TOa25AABFs7pheZg383.jpg

還能夠基於主機頭,前提是tec和主站點DNS指向相同

編輯nginx配置文件,將tec端口改成80便可

 wKioL1N_ZSSCMqw6AAAxWZbPVmY786.jpg

相關文章
相關標籤/搜索