Heim > Artikel > Backend-Entwicklung > Tutorial zur Konfiguration des Nginx-Tomcat-Clusters, um einen reibungslosen Neustart des Dienstes zu erreichen
Mit zunehmender Anzahl von Codebenutzern nimmt die Abhängigkeit von Hochverfügbarkeitsdiensten von Tag zu Tag zu. Single-Point-Dienste können die Auswirkungen eines Neustarts auf Benutzer nicht vermeiden. Daher wird die folgende Lösung übernommen Schmerzloser Neustart.
nginx+2tomcat(8080,8081)
Idee: Es gibt nur einen Tomcat mit normalem Dienst. Wenn Sie den anderen neu starten, führen Sie nginx -s aus Neu laden und schließlich den Tomcat des vorherigen Dienstes schließen.
Der Shell-Code lautet wie folgt:
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}"
mv_start_c> mv_stop_c> 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_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}.bak
/usr/local/apache-tomcat-6.0.39_${start_tomcat_port}/${tomcat_startup_path} 🎜>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
Das Skript ist etwas überflüssig, aber die Funktion ist kein Problem. Sie können es optimieren den Code selbst.
Der entscheidende Punkt besteht darin, die Include-Direktive von Nginx zu verwenden, um nur die erforderlichen Conf-Dateien zu laden:
关键点在利用了nginx的include指令实现只加载需要的conf文件:<br>
include /usr/local/nginx/conf/vhost/*.conf;
Das Obige stellt die Nginx-Tomcat-Cluster-Konfiguration vor, um einen reibungslosen Neustart des Dienstes zu erreichen, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.