1. 程式人生 > >LVS+tomcat負載均衡部署

LVS+tomcat負載均衡部署

  1. #!/bin/bash
  2. while [ 1 ]
  3. do
  4. #set server ipadd
  5. SERVERA=192.168.0.38
  6. STATUS=SERVERA
  7. #set tomcat path
  8. SVRA_TOMCAT_DIR=/opt/service
  9. SVRB_TOMCAT_DIR=/opt/service
  10. #set server port
  11. TOMCAT1=8081
  12. TOMCAT2=8082
  13. TOMCAT3=8083
  14. TOMCAT4=8084
  15. #set mail
  16. [email protected]
  17. [email protected]
  18. ##########################################################################
  19. NULL=/dev/null
  20. LOG=/var/log/monitor-tomcat.log
  21. SLEEP="sleep 10"
  22. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  23. >.T1
  24. >.T2
  25. >.T3
  26. >.T4
  27. STARTUP=bin/startup.sh
  28. SHUTDOWN=bin/shutdown.sh
  29. AR1=`grep Restart $LOG |wc -l`
  30. FILE="monitor tomcat status tomcat is alive"
  31. if [ $STATUS = SERVERA ] ; then
  32. T1WEB_ST=`links  http://$SERVERA:$TOMCAT1/monitor.jsp > .T1`
  33. T1=`grep "$FILE" .T1 > $NULL ; echo $?`
  34. T1STATUS=`nc -vv -z $SERVERA $TOMCAT1 > $NULL 2>&1 ; echo $?`
  35. if [ $T1 -eq 0 ] ; then
  36. echo $TIME  tomcat1 -------- is --------  alive >> $NULL
  37. if [ $T1STATUS -eq 0 ]; then
  38. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  39. echo $TIME  tomcat1 -------- is --------  alive >> $LOG
  40. else
  41. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  42. echo $TIME "tomcat1 -------- is -------- shutdown" >> $LOG
  43. echo $TIME "tomcat1 ------------------->>> Restart" >> $LOG
  44. PID=`ps aux |grep tomcat1 > $NULL ;echo $?`
  45. if [ $PID -eq 0 ] ; then
  46. $SVRA_TOMCAT_DIR/tomcat1/$SHUTDOWN 2 > $NULL
  47. $SVRA_TOMCAT_DIR/tomcat1/$STARTUP 2 > $NULL
  48. $SLEEP
  49. else
  50. $SVRA_TOMCAT_DIR/tomcat1/$STARTUP 2 > $NULL
  51. $SLEEP
  52. fi
  53. fi
  54. else
  55. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  56. echo $TIME "tomcat1 -------- is -------- shutdown" >> $LOG
  57. echo $TIME "tomcat1 ------------------->>> Restart" >> $LOG
  58. PID=`ps aux |grep tomcat1 > $NULL ;echo $?`
  59. if [ $PID -eq 0 ] ; then
  60. $SVRA_TOMCAT_DIR/tomcat1/$SHUTDOWN 2 > $NULL
  61. $SVRA_TOMCAT_DIR/tomcat1/$STARTUP 2 > $NULL
  62. $SLEEP
  63. else
  64. $SVRA_TOMCAT_DIR/tomcat1/$STARTUP 2 > $NULL
  65. $SLEEP
  66. fi
  67. fi
  68. T2WEB_ST=`links  http://$SERVERA:$TOMCAT2/monitor.jsp > .T2`
  69. T2=`grep "$FILE" .T2 > $NULL ; echo $?`
  70. T2STATUS=`nc -vv -z $SERVERA $TOMCAT2 > $NULL 2>&1 ; echo $?`
  71. if [ $T2 -eq 0 ] ; then
  72. echo $TIME  tomcat2  is   alive >> $NULL
  73. if [ $T2STATUS -eq 0 ]; then
  74. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  75. echo $TIME  tomcat2 -------- is --------  alive >> $LOG
  76. else
  77. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  78. echo $TIME "tomcat2 -------- is -------- shutdown" >> $LOG
  79. echo $TIME "tomcat2 ------------------->>> Restart" >> $LOG
  80. PID=`ps aux |grep tomcat2 > $NULL ;echo $?`
  81. if [ $PID -eq 0 ] ; then
  82. $SVRA_TOMCAT_DIR/tomcat2/$SHUTDOWN 2 > $NULL
  83. $SVRA_TOMCAT_DIR/tomcat2/$STARTUP 2 > $NULL
  84. $SLEEP
  85. else
  86. $SVRA_TOMCAT_DIR/tomcat2/$STARTUP 2 > $NULL
  87. $SLEEP
  88. fi
  89. fi
  90. else
  91. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  92. echo $TIME "tomcat2 -------- is -------- shutdown" >> $LOG
  93. echo $TIME "tomcat2 ------------------->>> Restart" >> $LOG
  94. PID=`ps aux |grep tomcat2 > $NULL ;echo $?`
  95. if [ $PID -eq 0 ] ; then
  96. $SVRA_TOMCAT_DIR/tomcat2/$SHUTDOWN 2 > $NULL
  97. $SVRA_TOMCAT_DIR/tomcat2/$STARTUP 2 > $NULL
  98. $SLEEP
  99. else
  100. $SVRA_TOMCAT_DIR/tomcat2/$STARTUP 2 > $NULL
  101. $SLEEP
  102. fi
  103. fi
  104. T3WEB_ST=`links  http://$SERVERA:$TOMCAT3/monitor.jsp > .T3`
  105. T3=`grep "$FILE" .T3 > $NULL ; echo $?`
  106. T3STATUS=`nc -vv -z $SERVERA $TOMCAT3 > $NULL 2>&1 ; echo $?`
  107. if [ $T3 -eq 0 ] ; then
  108. echo $TIME  tomcat3  is   alive >> $NULL
  109. if [ $T3STATUS -eq 0 ]; then
  110. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  111. echo $TIME  tomcat3 -------- is --------  alive >> $LOG
  112. else
  113. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  114. echo $TIME "tomcat3 -------- is -------- shutdown" >> $LOG
  115. echo $TIME "tomcat3 ------------------->>> Restart" >> $LOG
  116. PID=`ps aux |grep tomcat3 > $NULL ;echo $?`
  117. if [ $PID -eq 0 ] ; then
  118. $SVRA_TOMCAT_DIR/tomcat3/$SHUTDOWN 2 > $NULL
  119. $SVRA_TOMCAT_DIR/tomcat3/$STARTUP 2 > $NULL
  120. $SLEEP
  121. else
  122. $SVRA_TOMCAT_DIR/tomcat3/$STARTUP 2 > $NULL
  123. $SLEEP
  124. fi
  125. fi
  126. else
  127. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  128. echo $TIME "tomcat3 -------- is -------- shutdown" >> $LOG
  129. echo $TIME "tomcat3 ------------------->>> Restart" >> $LOG
  130. PID=`ps aux |grep tomcat3 > $NULL ;echo $?`
  131. if [ $PID -eq 0 ] ; then
  132. $SVRA_TOMCAT_DIR/tomcat3/$SHUTDOWN 2 > $NULL
  133. $SVRA_TOMCAT_DIR/tomcat3/$STARTUP 2 > $NULL
  134. $SLEEP
  135. else
  136. $SVRA_TOMCAT_DIR/tomcat3/$STARTUP 2 > $NULL
  137. $SLEEP
  138. fi
  139. fi
  140. T4WEB_ST=`links  http://$SERVERA:$TOMCAT1/monitor.jsp > .T4`
  141. T4=`grep "$FILE" .T4  > $NULL ; echo $?`
  142. T4STATUS=`nc -vv -z $SERVERA $TOMCAT4 > $NULL 2>&1 ; echo $?`
  143. if [ $T4 -eq 0 ] ; then
  144. echo $TIME  tomcat4  is   alive >> $NULL
  145. if [ $T4STATUS -eq 0 ]; then
  146. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  147. echo $TIME  tomcat4 -------- is --------  alive >> $LOG
  148. else
  149. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  150. echo $TIME "tomcat4 -------- is -------- shutdown" >> $LOG
  151. echo $TIME "tomcat4 ------------------->>> Restart" >> $LOG
  152. PID=`ps aux |grep tomcat4 > $NULL ;echo $?`
  153. if [ $PID -eq 0 ] ; then
  154. $SVRA_TOMCAT_DIR/tomcat4/$SHUTDOWN 2 > $NULL
  155. $SVRA_TOMCAT_DIR/tomcat4/$STARTUP 2 > $NULL
  156. $SLEEP
  157. else
  158. $SVRA_TOMCAT_DIR/tomcat4/$STARTUP 2 > $NULL
  159. $SLEEP
  160. fi
  161. fi
  162. else
  163. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  164. echo $TIME "tomcat4 -------- is -------- shutdown" >> $LOG
  165. echo $TIME "tomcat4 ------------------->>> Restart" >> $LOG
  166. PID=`ps aux |grep tomcat4 > $NULL ;echo $?`
  167. if [ $PID -eq 0 ] ; then
  168. $SVRA_TOMCAT_DIR/tomcat4/$SHUTDOWN 2 > $NULL
  169. $SVRA_TOMCAT_DIR/tomcat4/$STARTUP 2 > $NULL
  170. $SLEEP
  171. else
  172. $SVRA_TOMCAT_DIR/tomcat4/$STARTUP 2 > $NULL
  173. $SLEEP
  174. fi
  175. fi
  176. fi
  177. sleep 20
  178. TOMCAT='(tomcat1|tomcat2|tomcat3|tomcat4)'
  179. PIDSTATE=` ps aux |grep -v grep | egrep $TOMCAT  > /dev/null ;echo $?`
  180. PORTSTATE1=`nc -vv -z $SERVERA $TOMCAT1 > $NULL 2>&1 ; echo $?`
  181. PORTSTATE2=`nc -vv -z $SERVERA $TOMCAT2 > $NULL 2>&1 ; echo $?`
  182. PORTSTATE3=`nc -vv -z $SERVERA $TOMCAT3 > $NULL 2>&1 ; echo $?`
  183. PORTSTATE4=`nc -vv -z $SERVERA $TOMCAT4 > $NULL 2>&1 ; echo $?`
  184. if [ $PIDSTATE -eq 0 ] && [ $PORTSTATE1 -eq 0 ] && [ $PORTSTATE2 -eq 0 ] &&  [ $PORTSTATE3 -eq 0 ] &&  [ $PORTSTATE4 -eq 0 ]  ; then
  185. $SLEEP
  186. else
  187. $SLEEPMIN
  188. fi
  189. PIDSTATE=` ps aux |grep -v grep | egrep $TOMCAT  > /dev/null ;echo $?`
  190. PORTSTATE1=`nc -vv -z $SERVERA $TOMCAT1 > $NULL 2>&1 ; echo $?`
  191. PORTSTATE2=`nc -vv -z $SERVERA $TOMCAT2 > $NULL 2>&1 ; echo $?`
  192. PORTSTATE3=`nc -vv -z $SERVERA $TOMCAT3 > $NULL 2>&1 ; echo $?`
  193. PORTSTATE4=`nc -vv -z $SERVERA $TOMCAT4 > $NULL 2>&1 ; echo $?`
  194. if [ $PIDSTATE -eq 0 ] && [ $PORTSTATE1 -eq 0 ] && [ $PORTSTATE2 -eq 0 ] &&  [ $PORTSTATE3 -eq 0 ] &&  [ $PORTSTATE4 -eq 0 ]  ; then
  195. $SLEEP
  196. else
  197. $SLEEPMIN
  198. fi
  199. PIDSTATE=` ps aux |grep -v grep | egrep $TOMCAT  > /dev/null ;echo $?`
  200. PORTSTATE1=`nc -vv -z $SERVERA $TOMCAT1 > $NULL 2>&1 ; echo $?`
  201. PORTSTATE2=`nc -vv -z $SERVERA $TOMCAT2 > $NULL 2>&1 ; echo $?`
  202. PORTSTATE3=`nc -vv -z $SERVERA $TOMCAT3 > $NULL 2>&1 ; echo $?`
  203. PORTSTATE4=`nc -vv -z $SERVERA $TOMCAT4 > $NULL 2>&1 ; echo $?`
  204. if [ $PIDSTATE -eq 0 ] && [ $PORTSTATE1 -eq 0 ] && [ $PORTSTATE2 -eq 0 ] &&  [ $PORTSTATE3 -eq 0 ] &&  [ $PORTSTATE4 -eq 0 ]  ; then
  205. $SLEEP
  206. else
  207. $SLEEPMIN
  208. fi
  209. PIDSTATE=` ps aux |grep -v grep | egrep $TOMCAT > /dev/null ;echo $?`
  210. PORTSTATE1=`nc -vv -z $SERVERA $TOMCAT1 > $NULL 2>&1 ; echo $?`
  211. PORTSTATE2=`nc -vv -z $SERVERA $TOMCAT2 > $NULL 2>&1 ; echo $?`
  212. PORTSTATE3=`nc -vv -z $SERVERA $TOMCAT3 > $NULL 2>&1 ; echo $?`
  213. PORTSTATE4=`nc -vv -z $SERVERA $TOMCAT4 > $NULL 2>&1 ; echo $?`
  214. if [ $PIDSTATE -eq 0 ] && [ $PORTSTATE1 -eq 0 ] && [ $PORTSTATE2 -eq 0 ] &&  [ $PORTSTATE3 -eq 0 ] &&  [ $PORTSTATE4 -eq 0 ]  ; then
  215. $SLEEP
  216. else
  217. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  218. echo $TIME "tomcat  -------- is -------- shutdown" >> $LOG
  219. $SLEEPMIN
  220. fi
  221. AR2=`grep Restart $LOG  |wc -l`
  222. LINEB=`echo "$AR2-$AR1"|bc `
  223. MAILSUBJECT=` grep Restart $LOG | tail -n $LINEB `
  224. if [ $LINEB -gt 0 ] ; then
  225. TIME=`date +"%Y-%m-%d  %H:%M:%S"`
  226. echo $TIME send mail  to $MAILTO >> $LOG
  227. sendmail -t <<EOF
  228. from: $MAILFROM
  229. to: $MAILTO
  230. subject: warning
  231. $MAILSUBJECT
  232. EOF
  233. fi
  234. done

相關推薦

LVStomcat負載均衡部署

#!/bin/bash while [ 1 ] do #set server ipadd SERVERA=192.168.0.38 STATUS=SERVERA #set tomcat path SVRA_TOMCAT_DIR=/opt/service SVRB_TOMCAT_DIR=/opt/servic

Linux配置NginxTomcat負載均衡

14. func tomcat att 模塊 error 新解 c++環境 make tar -zxvf nginx-1.14.2.tar.gz -C /usr/local 一、Linux配置Nginx 一、下載Nginx   方式1:從http://nginx.org/e

基於lvs的FTP負載均衡部署方案(PASV)

啟動iptables 在redirector的主機上,啟動iptables,把原訪問策略新增進去,同時新增ftp的分發訪問策略(預設的redirector的主機並不需要iptables) 1. 確認iptables模組已經編譯並載入。 # modprobe ip_

使用redis來解決nginx--tomcat負載均衡部署session不一致

從上圖中我們可以看出,session是不同步的解決方案使用IP來限定每次訪問的伺服器ip_hash只需要在配置nginx的時候加上上述配置即可缺點萬一使用者正在訪問的伺服器突然宕機了,就不好了使用redis來實現session共享使用統一認證我們來講講怎麼是用redis來實現

部署Nginx+Tomcat負載均衡群集

程序 jsp nginx配置 12c adb 功能 然而 安裝方法 啟動tomcat 前言:Tomcat服務器是一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,在中小型系統和並發訪問用戶不是很多的場合下普遍被使用,是開發和調試JSP程序的首選,一般來說,Tom

部署Nginx+Tomcat負載均衡集群

java環境 set file AI ML path環境變量 import pro jdk1 Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。對於一個

部署Tomcat 及 nginx+tomcat負載均衡

make 訪問 應用服務器 示例 用戶 lse use 調試 prefix 案例:部署Tomcat 案例前置知識點1)、Tomcat簡介:開源項目,屬於Apache軟件基金會,是處理Java代碼的免費產品。2)、應用場景:Tomcat一款免費的開放源代碼的web應用服務器,

nginx+tomcat負載均衡配置+python自動化部署指令碼

nginx+tomcat負載均衡配置 1、網路拓撲      2、nginx安裝配置 1.安裝nginx伺服器,實現OSI網路模型第七層(應用層)負載均衡及反向代理:       安裝nginx 1.6.1 stable version,  stable version版

lvs+keepalived實現負載均衡

keepalive 裝載 announce log loopback -s scheduler sad apr LVS簡介: lvs是負載均衡較常用的軟件之一,lvs官方提供了一個命名的約定: vip:虛擬ip地址,縮寫是vip,vip是負載均衡器對外提供服務的ip。 ri

Nginx反向代理和負載均衡部署指南

命令 eva http ddr cli 僅支持 新版 ive app nginx不單能夠作為強大的webserver,也能夠作為一個反向代理server,並且nginx還能夠依照調度規則實現動態、靜態頁面的分離。能夠依照輪詢、ip哈希、URL哈希、權重等多種

java架構師課程、性能調優、高並發、tomcat負載均衡、大型電商項目實戰、高可用、高可擴展、數據庫架構設計、Solr集群與應用、分布式實戰、主從復制、高可用集群、大數據

慢查詢 主從復制 難題 jms 整合 大數 數據庫設計 企業級 nginx網站 15套Java架構師詳情 * { font-family: "Microsoft YaHei" !important } h1 { background-color: #006; color:

Linux下nginx+多個Tomcat負載均衡的實現

java 負載 均衡 bootstra 火墻 瀏覽器 startup 顯示 tomcat的配置 由於項目需要,共創建了10個Tomcat端,由nginx負責轉發。9個Tomcat端口分別是8080,11000,12000,13000,14000,15000,16000,17

nginx+tomcat負載均衡

ase pri clas pre XML /var/ tro version success 實驗環境: nginx-server:192.168.20.194 tomcatweb01:192.168.20.150 tomcatweb02:192.168.20.163 ##

[轉]Nginx反向代理和負載均衡部署指南

時間 digg upstream 後端服務 clu server 1.2 部署 ostc Nginx反向代理和負載均衡部署指南 1. 安裝 1) 從Nginx官網下載頁面(http://nginx.org/en/

Nginx+Tomcat 負載均衡集群

quest yum upstream lis 測試頁面 ont color stub port 案例分析   通常情況下,一臺Tomcat站點由於可能出現單點故障及無法應對多客戶復雜多樣性的請求等問題,不能單獨應用於生產環境下,所以我們需要一套更可靠的解決方案來完善Web

lvs實現ftp負載均衡集群

lvs集群;負載均衡;keepalived使用lvs的NAT模式,布署LVS+VSFTPD實現FTP的負載均衡,要求主動模式和被動模式均可正常訪問.ftp被動模式配置:DS配置 echo 1 > /proc/sys/net/ipv4/ip_forward #開啟路由轉發[[email pro

手把手教程: CentOS 6.5 LVS + KeepAlived 搭建 負載均衡 高可用 集群

ipvs 管理 bar 10.10 方正 希望 滿足 open chm 為了實現服務的高可用和可擴展,在網上找了幾天的資料,現在終於配置完畢,現將心得公布處理,希望對和我一樣剛入門的菜鳥能有一些幫助。 一、理論知識(原理) 我們不僅要知其然,而且要知其所以然,所以先

LVS 搭建一個負載均衡集群(轉)

always iptable sina watch 通過 main test 集群服務器 負載 http://blog.jobbole.com/87503/ 第一篇:《如何生成每秒百萬級別的 HTTP 請求?》 第二篇:《為最佳性能調優 Nginx》 第三篇:《用 L

搭建Nginx+Tomcat 負載均衡集群

linux nginx+tomcat Nginx+Tomcat 負載均衡集群一、 實驗拓撲: 二、 實驗要求:1. 試驗環境:主機操作系統所需軟件Nginx服務器rhel 6.5 x86_64nginx-1.6.0.tar.gzTomcat服務器1CentOS 6.5 x86_64apache-t

nginx+Tomcat負載均衡集群

lnmp負載均衡 Tomcat jsp linux 群集 一、tomcat應用場景tomcat服務其實一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試jsp程序的首選。一般來說,tomcat雖然和apache或