日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

nginx+tomcat实现主备切换

發(fā)布時(shí)間:2025/4/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx+tomcat实现主备切换 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、準(zhǔn)備工作

1、nginx安裝

1.1、準(zhǔn)備工作
選首先安裝這幾個(gè)軟件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL。
Nginx是C寫的,需要用GCC編譯;Nginx的Rewrite和HTTP模塊會(huì)用到PCRE;Nginx中的Gzip用到zlib;
用命令“# gcc”,查看gcc是否安裝;如果出現(xiàn)“gcc: no input files”信息,說明已經(jīng)安裝好了。
否則,就需要用命令“# yum install gcc”,進(jìn)行安裝了!一路可能需要多次輸入y,進(jìn)行確認(rèn)。
安裝好后,可以再用命令“#gcc”測(cè)試,或者用命令“# gcc -v”查看其版本號(hào)。
同樣方法,用如下命令安裝PCRE,zlib,OpenSSL(其中devel,是develop開發(fā)包的意思):

  • #?yum?install?-y?pcre?pcre-devel??
  • #?yum?install?-y?zlib?zlib-devel??
  • #?yum?install?-y?openssl?openssl-devel??

  • 1.2、下載并安裝
    創(chuàng)建目錄(nginx-src)并進(jìn)去;然后,從官方地址(http://nginx.org/)下載,解壓,配置,編譯,安裝:

  • #?mkdir?nginx-src?&&?cd?nginx-src??
  • #?wget?http://nginx.org/download/nginx-1.7.3.tar.gz??
  • #?tar?xzf?nginx-1.7.3.tar.gz???
  • #?cd?nginx-1.7.3??
  • #?./configure??
  • #?make??
  • #?make?install??
  • #?whereis?nginx??
  • nginx:?/usr/local/nginx??
  • 默認(rèn)的安裝路徑為:/usr/local/nginx;跳轉(zhuǎn)到其目錄下sbin路徑下,便可以啟動(dòng)或停止它了。

  • #?./nginx?-h??
  • nginx?version:?nginx/1.7.3??
  • Usage:?nginx?[-?hvVtq]?[-s?signal]?[-c?filename]?[-p?prefix]?[-g?directives]??
  • Options:??
  • ??-?,-h?????????:?this?help??
  • ??-v????????????:?show?version?and?exit??
  • ??-V????????????:?show?version?and?configure?options?then?exit??
  • ??-t????????????:?test?configuration?and?exit??
  • ??-q????????????:?suppress?non-error?messages?during?configuration?testing??
  • ??-s?signal?????:?send?signal?to?a?master?process:?stop,?quit,?reopen,?reload??
  • ??-p?prefix?????:?set?prefix?path?(default:?/usr/local/nginx/)??
  • ??-c?filename???:?set?configuration?file?(default:?conf/nginx.conf)??
  • ??-g?directives?:?set?global?directives?out?of?configuration?file??
  • 啟動(dòng):nginx
    停止:nginx -s stop

    1.3、添加到系統(tǒng)服務(wù)
    使用命令“# vi /etc/init.d/nginx”,打開編輯器,輸入如下內(nèi)容:

  • #!/bin/sh??
  • #?chkconfig:?2345?85?15??
  • #?Startup?script?for?the?nginx?Web?Server??
  • #?description:?nginx?is?a?World?Wide?Web?server.???
  • #?It?is?used?to?serve?HTML?files?and?CGI.??
  • #?processname:?nginx??
  • #?pidfile:?/usr/local/nginx/logs/nginx.pid??
  • #?config:?/usr/local/nginx/conf/nginx.conf??
  • ??
  • PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin??
  • DESC="nginx?deamon"??
  • NAME=nginx??
  • DAEMON=/usr/local/nginx/sbin/$NAME??
  • SCRIPTNAME=/etc/init.d/$NAME??
  • ??
  • test?-x?$DAEMON?||?exit?0??
  • ??
  • d_start(){??
  • ??$DAEMON?||?echo?-n?"already?running"??
  • }??
  • ??
  • d_stop(){??
  • ??$DAEMON?-s?quit?||?echo?-n?"not?running"??
  • }??
  • ??
  • ??
  • d_reload(){??
  • ??$DAEMON?-s?reload?||?echo?-n?"can?not?reload"??
  • }??
  • ??
  • case?"$1"?in??
  • start)??
  • ??echo?-n?"Starting?DESC:DESC:NAME"??
  • ??d_start??
  • ??echo?"."??
  • ;;??
  • stop)??
  • ??echo?-n?"Stopping?DESC:DESC:NAME"??
  • ??d_stop??
  • ??echo?"."??
  • ;;??
  • reload)??
  • ??echo?-n?"Reloading?$DESC?conf..."??
  • ??d_reload??
  • ??echo?"reload?."??
  • ;;??
  • restart)??
  • ??echo?-n?"Restarting?DESC:DESC:NAME"??
  • ??d_stop??
  • ??sleep?2??
  • ??d_start??
  • ??echo?"."??
  • ;;??
  • *)??
  • ??echo?"Usage:?$ScRIPTNAME?{start|stop|reload|restart}"?>&2??
  • ??exit?3??
  • ;;??
  • esac??
  • ??
  • exit?0??
  • 保存退出后,再使用下面的命令,使其可執(zhí)行;然后,添加配置并查看。
    可用chkconfig修改其值,也可用ntsysv工具改變是否自啟動(dòng)。

  • #?chmod?+x?/etc/init.d/nginx??
  • #?chkconfig?--add?nginx??
  • #?chkconfig?nginx?on/off??
  • #?chkconfig?--list?nginx??
  • nginx?0:off?1:off?2:on?3:on?4:on?5:on?6:off
  • 2.tomcat安裝

    2.1下載tomcat安裝包,解壓,可以修改webapps/ROOT之下的index.jsp文件,來(lái)標(biāo)記到底是那個(gè)tomcat。

    2.2修改tomcat的監(jiān)聽端口:此處為:8080,8180

    2.3啟動(dòng)tomcat

    二、配置nginx,實(shí)現(xiàn)主備切換:

    配置文件如下:

    upstream ?192.168.0.102 ?{
    ? ? server ?192.168.0.102:8080 max_fails=1;#max_fails 表示健康檢查失敗的次數(shù),這里表示次數(shù)為一次,即標(biāo)記該服務(wù)器down了
    ? ? server ?192.168.0.102:8180 max_fails=1;
    ? ? }


    ? ? server
    ? ? {
    ? ? listen ?80;
    ? ? server_name ?192.168.0.102;


    ? ? location / {
    ? ? proxy_next_upstream error timeout http_500 http_502 http_504; ?#這里表示健康檢查涉及到的情形,有這些情形的,都切換到另外的web服務(wù)器訪問 ?
    ? ? proxy_read_timeout 10s; ? #這里表示程序返回的時(shí)間,請(qǐng)參考php.ini的max_exe_time來(lái)設(shè)置。 ?
    ? ? proxy_pass ? ? ? ?http://192.168.0.102;
    ? ? proxy_set_header ? Host ? ? ? ? ? ? $host;
    ? ? proxy_set_header ? X-Real-IP ? ? ? ?$remote_addr;
    ? ? proxy_set_header ? X-Forwarded-For ?$proxy_add_x_forwarded_for;


    ? ? }

    注意:將這段配置放在http{}中。

    三、測(cè)試

    1.瀏覽器輸入:http://192.168.0.102,觀察訪問的是哪一個(gè)tomcat

    2.停掉正在訪問的這個(gè)tomcat服務(wù),然后重新訪問,觀察訪問的是哪一個(gè)tomcat。

    總結(jié)

    以上是生活随笔為你收集整理的nginx+tomcat实现主备切换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。