Nginx是俄罗斯人Igor Sysoev开发的一个高性能的HTTP和反向代理服务器。Nginx能够选择高效的epoll、kqueue、eventport作为网络I/O模型,在高并发的情况下,Nginx是Apache的不错替代品,它能够支持高达50000个并发连接数,而内存和CPU的占用却非常的低,运行非常稳定。
Nginx已经在俄罗斯的最大的门户网站——Rambler Media上运行了3年时间,同时俄罗斯有20%的虚拟主机都是用Nginx作为反响代理服务器。
在国内,已经有新浪博客,网易新闻、六房间等使用Nginx作为Web服务器或者反向代理服务器。
二、Nginx发展
2009年1月,对185497213个网站进行了抽样调查,发现出去google自己开发的仅供自己使用的GWS和GFE服务器玩,排在前两位的分辨是Apache、Microsoft IIS,而Nginx已经超过了Lighttpd,位居第三了。
二、Nginx优点
(1)Nginx 可以在大多数 Unix like OS 上编译运行,并有 Windows 移植版。 Nginx 的1.2.6稳定版已经于2012年12月11日发布,[1]1.3.10开发版已经于2012年12月25日发布,如果新建站点,建议使用最新稳定版作为生产版本,已有站点升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。
(2)Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。
(3)Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last. fm 描述了成功并且美妙的使用经验。
(4)Nginx 是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
CentOS 6.3下配置Nginx加载ngx_pagespeed模块
CentOS 6.4安装配置Nginx+Pcre+php-fpm
三、Nginx安装
Nginx的官方网站是,从这里可以获得Nginx的最新版本信息。Nginx有三个版本:稳定版、开发版和历史稳定版。通常建议使用稳定版。具体步骤如下:
(1)安装依赖软件pcre-devel和libevent
[root@bogon nginx]# yum install pcre-devel libevent openssl
(2)安装配置nginx
[root@bogon nginx]# tar -zxvf nginx-1.6.0.tar.gz -C /usr/local/src/
[root@bogon nginx]# cd /usr/local/src/nginx-1.6.0/
[root@bogon nginx-1.6.0]# ./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@bogon nginx-1.6.0]# make && make install
(3)为了能够启动服务因此要把控制脚本放到搜索路径去,因此要编辑/etc/profile文件
[root@bogon nginx]# vim /etc/profile
加上PATH=$PATH:/usr/local/nginx/sbin
[root@bogon nginx]# . /etc/profile
//测试有没有语法错误
[root@bogon ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] getpwnam("nginx") failed
nginx: configuration file /etc/nginx/nginx.conf test failed
从上面看出现错误,原因是没有创建用户和组
//创建用户和组
[root@bogon ~]# groupadd -r nginx
[root@bogon ~]# useradd -r -g nginx nginx
//由于编译过程中指明了/var/tmp/nginx/client/目录和/var/tmp/nginx/proxy/目录,因此要创建这两个目录。
[root@bogon ~]# mkdir -pv /var/tmp/nginx/client
[root@bogon ~]# mkdir -pv /var/tmp/nginx/proxy
//启动nginx服务,并查看端口
[root@bogon ~]# nginx
[root@bogon ~]# netstat -tupln |grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10868/nginx
出现以上信息表明nginx已经启动
在浏览器中输入192.168.186.132,如果出现nginx欢迎界面(如下),安装成功: