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.访问测试是否成功。

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...