代码下载地址:http://www.zuidaima.com/share/1860227690056704.htm
随着最代码用户量的增大,对高可用服务的依赖度日益增强,单点的服务无法避免重启给用户带来的影响,所以采用了如下方案来实现无痛重启服务。
nginx+2tomcat(8080,8081)
思路:其中正常服务的tomcat只有1个,如果重启时,启动另外一个,服务正常后,执行nginx -s reload,最后在关闭上一个服务的tomcat。
shell代码如下:
nginx_root_path="/usr/local/nginx/" nginx_conf_path="${nginx_root_path}conf/vhost/" tomcat_running_8080_port="8080" tomcat_running_8081_port="8081" tomcat_startup_path="bin/startup.sh" tomcat_shutdown_path="bin/shutdown.sh" cnt=`ps -ef|grep "apache-tomcat-6.0.39_${tomcat_running_8080_port}"|wc -l` if [ "${cnt}" == "0" ] ;then stop_tomcat_port="${tomcat_running_8081_port}" start_tomcat_port="${tomcat_running_8080_port}" mv_start_conf_path="${nginx_conf_path}www.zuidaima.com_8080.conf" mv_stop_conf_path="${nginx_conf_path}www.zuidaima.com_8081.conf" url="http://www.zuidaima.com:8080/share.htm" else stop_tomcat_port="${tomcat_running_8080_port}" start_tomcat_port="${tomcat_running_8081_port}" mv_start_conf_path="${nginx_conf_path}www.zuidaima.com_8081.conf" mv_stop_conf_path="${nginx_conf_path}www.zuidaima.com_8080.conf" url="http://www.zuidaima.com:8081/share.htm" fi echo "start tomcat ${start_tomcat_port}" mv ${mv_start_conf_path}.bak ${mv_start_conf_path} mv ${mv_stop_conf_path} ${mv_stop_conf_path}.bak /usr/local/apache-tomcat-6.0.39_${start_tomcat_port}/${tomcat_startup_path} sleep 40 rm share.htm -v curl -v "${url}" -o "share.htm" sleep 10 echo "nginx reload" ${nginx_root_path}sbin/nginx -s reload sleep 2 echo "stop tomcat ${stop_tomcat_port}" /usr/local/apache-tomcat-6.0.39_${stop_tomcat_port}/${tomcat_shutdown_path} sleep 10 ps -ef|grep tomcat-6.0.39_${stop_tomcat_port}|awk '{print $2}'|xargs kill
脚本有些冗余,但实现功能没问题了,大家可以自行发挥优化下代码。
相关截图如下:
关键点在利用了nginx的include指令实现只加载需要的conf文件:
include /usr/local/nginx/conf/vhost/*.conf;
相关推荐
Nginx+tomcat配置集群负载均衡实现动静分离实例
nginx+tomcat集群配置文件
基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理...
nginx + tomcat 集群配置 负载 nginx 下载地址: http://nginx.org/en/download.html 联合tomcat 实现集群 windows: Nginx.conf 配置 //见文件夹下面的nginx.conf 更改tomcat的配置: 第一处端口...
nginx,tomcat集群,session共享,基于memcache 包含nginx配置,tomcat配置,以及tomcat所需要的jar 不包含nginx,tomcat,jdk,memcache的安装
Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置
nginx 配置tomcat8集群
windowXP下搭建nginx-1.7.10和apache-tomcat-8.0.18的集群 已经配置好,下载后直接启动三个tomcat和nginx,然后访问http://localhost/即可。
一份不错的Nginx Tomcat集群部署说明
关于nginx和tomcat在window下的下载安装和使用等。仅供参考。
linux下nginx-tomcat集群及session共享,亲测成功,下载的文件包含了所有需要的jar包及nginx,memcached安装,配置,由于试了很多种方法,下了很多包,有些也需要积分,所以这里下载要些积分留着用,不好意思了,...
本资源为“Nginx+Tomcat集群配置”文章的附件,请先转到博文阅读再使用。
Nginx Tomcat 集群的Session 复制,解决了,集群情况下的session复制问题。
Nginx+Redis+Tomcat 集群部署文档以及所需jar包和Nginx+Redis+Tomcat安装包
在window中搭建使用nginx1.7+tomcat7实现集群环境架构,环境都已经配置好了,自己就可以使用,所有资源手取3个积分. 附件包含nginx,2个tomcat,都已经配置好了。
目前只支持tomcat8.5,其它版本的tomcat还没测试,自己配置过很多nginx+tomcat集群+redis实现session共享的系统,经过仔细总结得出这些,可以说是知识的结晶,欢迎大家来下载,不好的地方可以多提,有问题看到的话会...
Nginx的编译与安装,包含了...Nginx代理前端Tomcat后端负载均衡。 配置Redis数据数据库,并与Tomcat集成Session统一认证等。 包含了基本配置文档,以及相关的字段意思,方便各位下载以后,可以更改自己想要的参数。
Nginx+Tomcat+Memcached共享session集群配置
nginx tomcat 配置完整,只需要把项目放到tomcat下。 tomcat端口是8081,8082;nginx端口是8080