天天看點

ansible安裝tomcat_msm

ansible管理機:192.168.8.35 名稱:kick

tomcat主機: 192.168.8.247,192.168.8.246   

memcache  : 192.168.8.243,192.168.8.242

系統版本: Centos7.2

MSM--memcached session manager是一個高可用的Tomcat session共享解決方案,除了可以從本機記憶體快速讀取Session資訊(僅針對黏性Session)外,同時可使用memcached存取Session,以實作高可用,對于非黏性Session,memcached直接存儲session

################ 首先需要創一個.ssh目錄 ############### 

#!/usr/bin/expect

#

set timeout 30

spawn ssh [email protected]

expect {

        "yes/no" {

                send "yes\r";exp_continue

        }

        "password" {

                send "xiong123\r"

}

expect "~]# "

send "mkdir /root/.ssh\r"

send "ls /root -la\r"

expect eof

exit

# 建立雙機互信

[root@kick ~]# scp .ssh/id_rsa .ssh/authorized_keys [email protected]:/root/.ssh/

[root@kick ~]# scp .ssh/id_rsa .ssh/authorized_keys [email protected]:/root/.ssh/

[root@kick ~]# scp .ssh/id_rsa .ssh/authorized_keys [email protected]:/root/.ssh/

[root@kick ~]# scp .ssh/id_rsa .ssh/authorized_keys [email protected]:/root/.ssh/

# 安裝tomcat啟動并開機自動啟動

[root@kick ~]# ansible tomcat -m yum -a "name=tomcat state=installed"

[root@kick ~]# ansible tomcat -m shell -a "systemctl start tomcat"

[root@kick ~]# ansible tomcat -m shell -a "systemctl enable tomcat"

# 複制主機中的server.xml配置檔案至本地進行簡單配置

[root@kick ~]# scp 192.168.8.247:/etc/tomcat/server.xml .

# Host段增加通路路徑為/www/html

[root@kick ~]# vim server.xml 

      <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

            <Context path="" docBase="/www/html"

                reloadable="true" crossContext="true"/>

# 将配置檔案直接複制到各伺服器中

[root@kick ~]# ansible tomcat -m copy -a "src=server.xml dest=/etc/tomcat/"

# 建立通路項目目錄,并建立一個index.html檔案并直接使用http://ipaddr:8080通路

[root@kick ~]# ansible tomcat -m shell -a "mkdir /www/html -pv"

# 安裝啟動并設定開機自動啟動

[root@kick ~]# ansible memc -m yum -a "name=memcached state=installed"

[root@kick ~]# ansible memc -m shell -a "systemctl start memcached"

[root@kick ~]# ansible memc -m shell -a "systemctl enable memcached"

# 檢視memcacehd伺服器狀态

[root@kick ~]# ansible memc -m shell -a "systemctl status memcached"

# 如果需要理改選項需要在/etc/sysconfig/memcached中options中增加

# 檢查服務是否安裝成功

[root@kick ~]# telnet 192.168.8.243 11211

#測試: set 定義值的名稱 檢索 逾時時長秒  長度

set mykey 0 60 6

123456

STORED

get mykey

VALUE mykey 0 6

END

# 另外一台一樣的操作

# quit直接退出 stats檢視狀态資訊

# 下載下傳msm軟體包 下載下傳位址:https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration#overview-over-memcached-session-manager-configuration-attributes

# 軟體包:

javolution-5.4.3.1.jar

memcached-session-manager-2.1.1.jar

memcached-session-manager-tc7-2.1.1.jar # tomcat是1.7那麼就下tc7其它的一樣,比如8就下8

msm-javolution-serializer-2.1.1.jar

spymemcached-2.11.1.jar

# 兩個tomcat機器都需要複制檔案

[root@kick msm]# scp *.jar [email protected]:/usr/share/tomcat/lib/

# 再次配置ansbile 本地的tomcat配置檔案 新增如下資訊

                reloadable="true" crossContext="true">

                #管理名稱為memcached

                  <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

                  # memcached節點有哪些定義

                    memcachedNodes="n1:192.168.8.243:11211,n2:192.168.8.242:11211"

                  # 故障轉換節點(備份節點是哪一個)

                    failoverNodes="n1"

                    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"

                    transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"

                    />

            </Context>

# 将修改的.xml檔案複制到tomcat節點中去,然後重新開機服務并檢視狀态值

[root@kick ~]# ansible tomcat -m copy -a "src=server.xml dest=/etc/tomcat/server.xml"

[root@kick ~]# ansible tomcat -m shell -a "systemctl restart tomcat"

[root@kick ~]# ansible tomcat -m shell -a "systemctl status tomcat"

##########nginx負載 ##########

    http://xiong51.blog.51cto.com/5239058/1941194

     本文轉自812374156 51CTO部落格,原文連結:http://blog.51cto.com/xiong51/1941193,如需轉載請自行聯系原作者