ホームページ >バックエンド開発 >PHPチュートリアル >苦痛のないサービス再起動を実現するための nginx Tomcat クラスター構成チュートリアル

苦痛のないサービス再起動を実現するための nginx Tomcat クラスター構成チュートリアル

WBOY
WBOYオリジナル
2016-08-08 09:22:20907ブラウズ

コード ユーザーの増加に伴い、高可用性サービスへの依存度が日に日に高まっています。シングルポイント サービスでは再起動によるユーザーへの影響を避けることができないため、痛みのないサービスの再起動を実現するために次のソリューションが採用されています。

nginx+2tomcat(8080,8081)

アイデア: 通常のサービスである Tomcat は 1 つだけです。再起動された場合は、サービスが正常になったら、nginx -s reload を実行して、最後に Tomcat を閉じます。以前のサービスのtomcat。

シェルコードは次のとおりです:

nginx_root_path="/usr/local/nginx/"
nginx_c/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} //www.zuidaima.com:8080/share.htm"
else
lse_tomcat_port = "$ {tomcat_running_8080_port}"
start_tomcat_port= "${tomcat_running_8081_port}"
mv_start_c> mv_stop_c> 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 ファイルのみをロードすることです: <p></p>关键点在利用了nginx的include指令实现只加载需要的conf文件:<br>

include /usr/local/nginx/conf/vhost/*.conf;
include /usr/local/nginx/ conf/vhost /*.conf;

上記では、痛みのないサービス再起動を実現するための nginx tomcat クラスター構成のチュートリアルと、関連する内容を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。