上篇博客写了nginx作为反向代理的作用,它能作为一个收集器,收集客户端请求,然后分发给集群的服务器处理。这种方式降低了访问压力。今天介绍怎么在windows下搭建集群(nginx+2个tomcat)。
一、准备工作
1.Nginx下载(我用的nginx-1.4.7)
2.tomcat(我用的6.0.28)
二、配置
1.首先修改nginx的配置文件,在conf/nginx.conf下的文件。
#服务器的集群
upstream tomcat.com { #服务器集群名字
#server 172.16.21.13:8081 weight=1;#服务器配置 weight是权重的意思,权重越大,分配的概率越大。
#server 192.168.1.186:8081 weight=1;
#server 172.16.1.14:8081 weight=2;
#server 172.16.1.15:8081 weight=1;
#server 172.16.1.15:80 weight=1;
server 127.0.0.1:18081 weight=1; #自己配置
server 127.0.0.1:18082 weight=2;
}
#当前的Nginx的配置
server {
listen 80;#监听80端口,可以改成其他端口
server_name localhost;############## 当前服务的域名
#charset koi8-r;
#access_log logs/host.access.log main;
#location / {
# root html;
# index index.html index.htm;
#}
location / {
proxy_pass http://tomcat.com; //和upstream的名字相同
proxy_redirect default;
}
location ~ \.(jpg|png|jpeg|bmp|gif|swf|css)$
{
expires 30d;
root /nginx-1.4.7;#root:
break;
}
主要要修改这些部分,配置监听的tomcat的端口和权重
2.修改tomcat配置文件
在conf下的server.xml文件
<Server port="18005" shutdown="SHUTDOWN"> #端口是18005,两个tomcat不能重复,否则启动失败,随便配
<Connector port="18081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /> #端口18081,和nginx的配置文件里面监听的tomcat的端口一致
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"> //加上jvmRoute="tomcat1"
另一个tomcat的配置大致相同
三、启动测试
1.先启动nginx
切换到nginx的目录E:\nginx+tomcat\nginx-1.4.7,然后在命令窗口输入:start nginx.exe,想要确定是否启动成功,输入nginx -t查看状态
分别启动两个tomcat,这里我修改了tomcat的默认页面的内容,路径在E:\nginx+tomcat\apache-tomcat1\webapps\ROOT下的index.jsp。启动成功后,在页面中输入地址:http://localhost/index.jsp,就能访问了 。如下:
再访问就可能调到这个页面,注意两个页面
因为在nginx的配置文件中设置了权重,那么访问页面的次数也会按照权重分配。
四、总结
大家感兴趣可以搭建一下特别简单,nginx在解决集群和高并发性上应用很高,而且跨平台配置简单。