centos 6.5下编译安装、配置高性能服务器Nginx
1.nginx是什么?
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强。
2.安装前需要安装pre(作用rewrite)、zlib(作用压缩)、ssl(作用安全证书)安装包。如图:
①安装pre包
yum -y install pcre*
②安装zlib包
yum -y install zlib*
③安装ssl包
yum -y install openssl*
3.下载nginx,我这里是稳定版本:1.10.1
下载地址:http://nginx.org/en/download.html,登录网站并下载之。
版本看需求,我这里就以稳定版nginx-1.10.1为例
注意:当然你也可以使用wget命令直接下载相应的版本。
再次为了便于简便,我这里直接使用wget下载命令直接在网络中下载nginx。如图:
wget http://nginx.org/download/nginx-1.10.1.tar.gz
4.解压缩nginx-1.10.1.tar.gz安装包,如图:
tar –zxvf nginx-1.10.1.tar.gz
5.删除nginx-1.10.1.tar.gz安装包,如图:
rm -rf nginx-1.10.1.tar.gz
6. (此部分可以忽略,因为nginx-1.10.1版本太高,编译安装的时候会报错,如果需要此功能可使用nginx-1.6.2版本)实现基于cookie的负载均衡,我这里使用使用nginx sticky。(声明:在多台后台服务器的环境下,我们为了确保一个客户只和一台服务器通信,我们势必使用长连接。使用什么方式来实现这种连接呢,常见的有使用nginx自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端是CDN,或者说一个局域网的客户同时访问服务器,导致出现服务器分配不均衡,以及不能保证每次访问都粘滞在同一台服务器。如果基于cookie会是一种什么情形,想想看, 每台电脑都会有不同的cookie,在保持长连接的同时还保证了服务器的压力均衡,nginx sticky值得推荐。
如果浏览器不支持cookie,那么sticky不生效,毕竟整个模块是给予cookie实现的.
)。使用rz命令上传已经下载好的nginx-sticky-module-1.25.zip压缩包到/usr/local目录下。(下载地址:http://download.csdn.net/detail/xushouwei/9599197)
rz
使用unzip命令解压nginx-sticky-module-1.25.zip压缩包。
unzip nginx-sticky-module-1.25.zip
7.进入到nginx-1.10.1目录,编译nginx。
cd nginx-1.10.1
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-pcre
编译参数可参考文档(下载地址:http://download.csdn.net/detail/xushouwei/9599174)
7.安装nginx
make && make install
8.启动nginx服务。
/usr/local/nginx/sbin/nginx
重启或关闭nginx进程:
/usr/local/nginx/sbin/nginx -s reload
/usr/local/nginx/sbin/nginx -s stop
9.关闭防火墙或添加防火墙规则(我这里采用直接关闭防火墙的方式)
关闭防火墙:service iptables stop
或者编辑配置文件:
vi /etc/sysconfig/iptables
添加这样一条开放80端口的规则后保存:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启服务即可:
service iptables restart
10.访问测试是否成功。