`
yaerfeng1989
  • 浏览: 232785 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx tomcat集群配置实现无痛重启服务教程

阅读更多

代码下载地址:http://www.zuidaima.com/share/1860227690056704.htm

原文:nginx tomcat集群配置实现无痛重启服务教程

随着最代码用户量的增大,对高可用服务的依赖度日益增强,单点的服务无法避免重启给用户带来的影响,所以采用了如下方案来实现无痛重启服务。

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配置集群负载均衡实例

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"Nginx+Tomcat"的组合常被用于实现这一目标。本实例将详细阐述如何通过Nginx配置集群负载均衡,以实现动静分离,提升系统性能和稳定性。 首先,Nginx是一款...

    nginx+tomcat集群配置文件

    nginx+tomcat集群配置文件

    基于ssm+shiro+redis+nginx tomcat服务器集群管理项目.zip

    基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理...

    Nginx+tomcat配置集群负载均衡

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"**Nginx+Tomcat配置集群负载均衡**"就是实现这一目标的一种常见方案。Nginx是一款高性能的反向代理服务器,常用于处理静态资源和进行负载均衡;Tomcat则是...

    Nginx和Tomcat集群环境部署

    本文档主要介绍了如何在Windows环境下部署Nginx和Tomcat集群,包括软件的下载、安装、配置以及集群的基本构建。 #### 二、安装规划 在部署集群之前,需要明确安装规划,以便合理分配资源和确保系统的高效运行。 - *...

    nginx + tomcat 集群配置

    nginx + tomcat 集群配置 负载 nginx 下载地址: http://nginx.org/en/download.html 联合tomcat 实现集群 windows: Nginx.conf 配置 //见文件夹下面的nginx.conf 更改tomcat的配置: 第一处端口...

    Nginx与Tomcat集群配置 Redis配置

    在构建高性能、高可用性的Web服务时,常常会采用Nginx作为反向代理和负载均衡器,结合Tomcat集群处理动态请求,同时利用Redis来实现Session共享和统一认证。以下将详细介绍Nginx与Tomcat集群配置以及Redis配置的相关...

    nginx+tomcat集群实现

    【标题】:“nginx+tomcat集群实现”是一个高级IT主题,涉及到网络服务器的高可用性和负载均衡配置。在这个场景中,我们使用nginx作为反向代理和负载均衡器,而tomcat则是运行Java web应用程序的服务器。这样的组合...

    tomcat集群配置

    【标题】:“Tomcat集群配置” 在Web应用的高可用性和可扩展性需求日益增长的今天,Tomcat集群成为了一个重要的解决方案。Tomcat集群能够通过负载均衡和故障转移来提高服务的稳定性和性能。以下是对Tomcat集群配置...

    Nginx+Tomcat集群配置附件

    "Nginx+Tomcat集群配置"是一个常见的解决方案,它结合了Nginx的高性能反向代理能力和Tomcat的Java应用服务器功能,以实现高效能的Web服务。下面我们将详细探讨这个配置的相关知识点。 首先,Nginx是一款轻量级的...

    nginx,tomcat集群,session共享

    nginx,tomcat集群,session共享,基于memcache 包含nginx配置,tomcat配置,以及tomcat所需要的jar 不包含nginx,tomcat,jdk,memcache的安装

    Nginx Tomcat集群部署说明

    5. **Windows 7上的集群配置**:`(学习参考)NGINX_+TOMCAT在windows_7下实现集群负载配置.doc`文档提供了在Windows 7系统上搭建Nginx和Tomcat集群的详细步骤,包括安装、配置以及测试过程,对于初学者来说是一份宝贵...

    nginx tomcat集群 session复制

    本文将详细介绍如何在Nginx和Tomcat集群中实现Session复制。 ### 一、测试环境搭建 1. **软件列表**: - Nginx - PCRE (Perl Compatible Regular Expressions) - Nginx-upstream-jvm-route (用于处理Java路由) ...

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置

    nginx 配置tomcat8集群

    nginx 配置tomcat8集群

    Nginx+Redis+Tomcat 集群部署

    在构建高性能、高可用性的Web服务时,"Nginx+Redis+Tomcat 集群部署"是一种常见的架构模式。这种模式结合了Nginx的反向代理和负载均衡能力,Redis的数据缓存功能,以及Tomcat的Java应用服务器性能,能够有效提升系统...

    linux nginx tomcat 集群搭建

    本文将详细讲解如何使用Linux操作系统,结合Nginx反向代理服务器和Tomcat应用服务器来搭建一个集群环境,实现负载均衡和服务高可用性。这个过程涉及到的知识点包括Linux系统管理、Nginx配置、Tomcat集群设置以及源码...

    tomcat+nginx集群

    在构建高性能、高可用性的Web服务时,"tomcat+nginx集群"是一个常见的架构模式。这个模式结合了Tomcat作为应用服务器处理Java EE应用程序,而Nginx则作为反向代理和负载均衡器,确保流量的高效分配和系统的稳定运行...

    Nginx+tomcat负载均衡集群session复制 windos

    6. **启动和测试**:保存配置文件,重启Nginx和所有Tomcat实例。通过发送多个请求到Nginx的监听端口(如`localhost:8111`),观察请求是否被正确地分发到各个Tomcat实例,并检查session是否在不同服务器之间正常传递...

Global site tag (gtag.js) - Google Analytics