代码下载地址: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;
相关推荐
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"Nginx+Tomcat"的组合常被用于实现这一目标。本实例将详细阐述如何通过Nginx配置集群负载均衡,以实现动静分离,提升系统性能和稳定性。 首先,Nginx是一款...
nginx+tomcat集群配置文件
基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"**Nginx+Tomcat配置集群负载均衡**"就是实现这一目标的一种常见方案。Nginx是一款高性能的反向代理服务器,常用于处理静态资源和进行负载均衡;Tomcat则是...
本文档主要介绍了如何在Windows环境下部署Nginx和Tomcat集群,包括软件的下载、安装、配置以及集群的基本构建。 #### 二、安装规划 在部署集群之前,需要明确安装规划,以便合理分配资源和确保系统的高效运行。 - *...
nginx + tomcat 集群配置 负载 nginx 下载地址: http://nginx.org/en/download.html 联合tomcat 实现集群 windows: Nginx.conf 配置 //见文件夹下面的nginx.conf 更改tomcat的配置: 第一处端口...
在构建高性能、高可用性的Web服务时,常常会采用Nginx作为反向代理和负载均衡器,结合Tomcat集群处理动态请求,同时利用Redis来实现Session共享和统一认证。以下将详细介绍Nginx与Tomcat集群配置以及Redis配置的相关...
【标题】:“nginx+tomcat集群实现”是一个高级IT主题,涉及到网络服务器的高可用性和负载均衡配置。在这个场景中,我们使用nginx作为反向代理和负载均衡器,而tomcat则是运行Java web应用程序的服务器。这样的组合...
【标题】:“Tomcat集群配置” 在Web应用的高可用性和可扩展性需求日益增长的今天,Tomcat集群成为了一个重要的解决方案。Tomcat集群能够通过负载均衡和故障转移来提高服务的稳定性和性能。以下是对Tomcat集群配置...
"Nginx+Tomcat集群配置"是一个常见的解决方案,它结合了Nginx的高性能反向代理能力和Tomcat的Java应用服务器功能,以实现高效能的Web服务。下面我们将详细探讨这个配置的相关知识点。 首先,Nginx是一款轻量级的...
nginx,tomcat集群,session共享,基于memcache 包含nginx配置,tomcat配置,以及tomcat所需要的jar 不包含nginx,tomcat,jdk,memcache的安装
5. **Windows 7上的集群配置**:`(学习参考)NGINX_+TOMCAT在windows_7下实现集群负载配置.doc`文档提供了在Windows 7系统上搭建Nginx和Tomcat集群的详细步骤,包括安装、配置以及测试过程,对于初学者来说是一份宝贵...
本文将详细介绍如何在Nginx和Tomcat集群中实现Session复制。 ### 一、测试环境搭建 1. **软件列表**: - Nginx - PCRE (Perl Compatible Regular Expressions) - Nginx-upstream-jvm-route (用于处理Java路由) ...
Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置
nginx 配置tomcat8集群
在构建高性能、高可用性的Web服务时,"Nginx+Redis+Tomcat 集群部署"是一种常见的架构模式。这种模式结合了Nginx的反向代理和负载均衡能力,Redis的数据缓存功能,以及Tomcat的Java应用服务器性能,能够有效提升系统...
本文将详细讲解如何使用Linux操作系统,结合Nginx反向代理服务器和Tomcat应用服务器来搭建一个集群环境,实现负载均衡和服务高可用性。这个过程涉及到的知识点包括Linux系统管理、Nginx配置、Tomcat集群设置以及源码...
在构建高性能、高可用性的Web服务时,"tomcat+nginx集群"是一个常见的架构模式。这个模式结合了Tomcat作为应用服务器处理Java EE应用程序,而Nginx则作为反向代理和负载均衡器,确保流量的高效分配和系统的稳定运行...
6. **启动和测试**:保存配置文件,重启Nginx和所有Tomcat实例。通过发送多个请求到Nginx的监听端口(如`localhost:8111`),观察请求是否被正确地分发到各个Tomcat实例,并检查session是否在不同服务器之间正常传递...