Centos6.4下Nginx安装

Centos6.4Nginx安装

 

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过三年了。Igor 将源代码以类BSD许可证的形式发布。

 

NginxApache区别

 Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客新浪播客网易新闻腾讯网搜狐博客等门户网站频道,六间房56.com等视频分享网站,Discuz!官方论坛水木社区等知名论坛,盛大在线金山逍遥网等网络游戏网站,豆瓣人人网YUPOO相册金山爱词霸迅雷在线等新

    在高并发连接的情况下,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 Development

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

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


你可能感兴趣的:(nginx,centos,6.4)