nginx+tomcat集群部署简单流程(windows环境)

来源:互联网 发布:origin7怎么用数据作图 编辑:程序博客网 时间:2024/05/16 08:51

1.下载nginx
http://nginx.org/ 进入nginx官网下载windows环境的ngin

2.启动nginx

双击nginx.exe,输入localhost,进入nginx默认界面

3.下载tomcat

下载后,并复制,这样就相当于两个tomcat容器,模拟集群,我用的7.0版本

4.修改tomcat端口

tomcat默认的访问端口是8080,所以需要修改其中的一台tomcat的端口号;解决两台服务器端口号冲突问题,当然如果是安装在两台服务器上的话就可以不改,因为本地模拟在同一台PC上,所以会有端口冲突

修改tomcat conf下面的server.xml文件;主要修改一下三处

1)<Server port="8006" shutdown="SHUTDOWN">

2)    <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443"/>

3)    <Connector port="8020" protocol="AJP/1.3" redirectPort="8443"/>

5.打包一个web应用,分别放到两台服务器的webapps目录下,注意最好将两个应用的主页改成不一样,这样才能区分请求是不是分发到不同的服务器上了

6.修改nginx安装目录下的conf/nginx.conf文件

1)

<span style="white-space:pre"></span>upstream dingwang.com {        #weigth参数表示权值,权值越高被分配到的几率越大#根据ip hash值分发请求,保证同一个用户访问的总是同一台服务器,解决session问题#ip_hash;server 127.0.0.1:8081;        server 127.0.0.1:8080;    }
2)
<span style="white-space:pre"></span>location / {   #proxy_pass后面跟的是http://+upstream后面的名字           proxy_pass         http://dingwang.com;           proxy_set_header   Host             $host;           proxy_set_header   X-Real-IP        $remote_addr;           proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;         }


7.修改本机的hosts文件

位置:C:\Windows\System32\drivers\etc的hosts文件

加上以下域名映射127.0.0.1  dingwang.com

名称可自行修改,只要和nginx.conf中的名字对应即可

8.验证

1)启动两台tomcat

2)重启nginx

3)地址栏输入访问路径dingwang.com 即可进入

4)如果之前两台服务器部署的应用的主页不一样的话,就可以看到当你刷新页面时两个主页是交替出现的

9.Note

1)nginx的目录不能含有中文,否则启动会报错

2)nginx启动命令,可以直接双击nginx.exe,当然建议dos操作,因为还有nginx重启和停止,没有双击完成

3)打开dos界面,然后进入nginx.exe所在的目录,输入nginx.exe,启动nginx;输入nginx.exe -s stop,停止nginx,输入nginx.exe -s reload,重启nginx

10.拓展

1)Q:登录系统的时候会发现系统先是停留在A服务器的应用界面,当你输入用户名密码后会发现跳到B服务器所在的界面,而且登录不成功,怎么解决

A:最简单的就是ip_hash的负载策略,nginx会根据用户的ip负载到一台固定的服务器

2)Q:对于上面的方式还是会有新的问题产生,比如一般公司办公的时候,对外网都是公用一个IP,那么这些用户就会都负载到同一个服务器,就不能做到负载均衡的效果了

A:nginx提供了四种负载均衡策略,大家可以参考下另外三种方式的负载均衡,但是其他策略无法保证session在同一台服务器,这时我们又要解决session的问题。。

3)session问题的策略其实也有很多,比如利用分布式缓存session,session复制等等,具体的就不多介绍了,有兴趣的可以上网查查

11.nginx功能

当然nginx的功能不止简单的负载均衡,还有缓存,方向代理,重写url等等,大家可以参考官网

nginx英文网站:http://nginx.org/

nginx中文网站:http://www.nginx.cn/

0 0