http://blog.csdn.net/webnoties/article/details/17793981
Linux
Nginx是一款轻量级的Web 服务器/反响代理服务器及电子邮件(IMAP/POP3)代理服务器
特点:
反向代理负载均衡 动静分离
反响代理:
正向代理:需要我们用户,手动的设置代理服务器的ip和端口号
反响代理:代理服务器的,用户不需要设置
负载均衡:
原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力
多台服务器共同完成工作任务,从而提高了数据的吞吐量。
1、用nginx在window上搭建集群
1.在D盘上 安装两个tomcat (tomcat1 tomcat2)
2.修改tomcat2的端口,在tomcat的端口上+10
3.解压 nginx
修改nginx的nginx.conf文件
在location / 下添加反向代理
proxy_pass 代理服务器(仅仅是一台服务器)
proxy_pass http://localhost:8080;
4.代理集群
需要在http几点上添加一个
upstreamserver_test1{
server192.168.1.106:8080 weight=2;
server192.168.1.106:8090 weight=4;
}
修改location /下的反向代理
proxy_passhttp://server_test1;
5.session共享
解决方式1:(只能在window下好用)
web服务器解决(广播机制)
注意:tomcat下性能低
修改两个地方:
1.修改tomcat的server.xml 支持共享
将引擎(Engine)标签下的
<ClusterclassName="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
注释去掉
2.修改项目的配置文件,web.xml(具体项目的WEB-INF目录下的web.xml)中加一个节点(display-name节点下)
<distributable/>
解决方式2:
可以将session的id放入radis中
解决方式3:(在linux下好用)
保证一个ip地址永远访问一台web服务器,就不存在session共享问题
在nginx的配置文件中
upstream中添加 ip_hash;
-----------------------------------------------------------------------------
2、在linux下搭建集群
1.先将nginx上传到linux上
2.解压nginx
3.先编译nginx
安装依赖包:
yuminstall gcc-c++
yuminstall -y pcre pcre-devel
yuminstall -y zlib zlib-devel
yuminstall -y openssl openssl-devel
执行编译
先进入 nginx的目录
执行
./configure
4.安装nginx
执行
make
makeinstall
5.启动nginx
cdnginx的目录下
配置文件 conf
启动nginx
./nginx
./nginx-s stop 关闭
./nginx-s quit 退出
./nginx-s reload 动态加载配置
6.开启端口号 80(将端口号80添加到防火墙中)
设置防火墙端口 80
80 端口放行
/sbin/iptables -I INPUT -p tcp --dport 80 -jACCEPT
且将该设置添加到防火墙的规则中
/etc/rc.d/init.d/iptables save
7.修改conf文件和window一样
配置集群
遇到问题及解决方法:
open() "/usr/local/nginx/logs/nginx.pid
解决方法:
[root@localhost nginx]#/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
使用nginx -c的参数指定nginx.conf文件的位置