Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比文成網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式文成網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋文成地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。

Tomcat是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML  頁面的訪問請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat  時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。

Tomcat 很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。

環(huán)境介紹:

系統(tǒng)版本:CentOS 6.4_x86_64

MySQL版本: mysql-server.x86_64 0:5.1.66-2.el6_3

Apache版本:httpd-2.2.15-26.el6

Tomcat版本:apache-tomcat-7.0.42

JDK版本: jdk-7u40-linux-x64

在線商城系統(tǒng):shopxx-3.0Beta(可下載)

拓?fù)湔故荆?/strong>

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

安裝配置過程:

1、配置IP地址

############前端服務(wù)器[root@node ~]#:############# ifconfig eth0 172.16.18.6 ifconfig eth2 192.168.18.254/24 ############Tomcat A[root@node1~]#:############### ifconfig eth0 192.168.18.1/24 route add default gw 192.168.18.254 ############Tomcat B[root@node2~]#:################ ifconfig eth0 192.168.18.2/24 route add default gw 192.168.18.254

2、安裝配置后端服務(wù)器

###########TomcatA服務(wù)器:##############     ##########安裝JDK:############## [root@node1~]# rpm -ivh jdk-7u9-linux-x64.rpm [root@node1~]# vim /etc/profile.d/java.sh   #編輯執(zhí)行腳本  export JAVA_HOME=/usr/java/latest  export PATH=$JAVA_HOME/bin:$PATH [root@node1~]# . /etc/profile.d/java.sh     #讀取執(zhí)行腳本 [root@node1~]# java -version                #查看安裝信息 javaversion "1.7.0_09"   #版本信息 Java(TM)SE Runtime Environment (build 1.7.0_09-b05)    #運(yùn)行時(shí)環(huán)境的版本 JavaHotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)      #########安裝Tomcat############# [root@node1~]# tar xf apache-tomcat-7.0.42.tar.gz -C /usr/local/ [root@node1~]# cd /usr/local/ [root@node1local]# ln -sv apache-tomcat-7.0.42/ tomcat [root@node1tomcat]# vim /etc/profile.d/tomcat.sh     #定義啟動(dòng)環(huán)境變量 exportCATALINA_HOME=/usr/local/tomcat exportPATH=$CATALINA_HOME/bin:$PATH [root@node1tomcat]# . /etc/profile.d/tomcat.sh       #讀取腳本 [root@node1~]# catalina.sh version   #查看安裝信息 UsingCATALINA_BASE:   /usr/local/tomcat UsingCATALINA_HOME:   /usr/local/tomcat UsingCATALINA_TMPDIR: /usr/local/tomcat/temp UsingJRE_HOME:        /usr/java/latest UsingCLASSPATH:      /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Serverversion: Apache Tomcat/7.0.42 Serverbuilt:   Jul 2 2013 08:57:41 Servernumber:  7.0.42.0 OSName:        Linux OSVersion:     2.6.32-358.el6.x86_64 Architecture:   amd64 JVMVersion:    1.7.0_09-b05 JVMVendor:     Oracle Corporation #############啟動(dòng)################## [root@node1~]# catalina.sh start ############查看啟動(dòng)端口########### [root@node1~]# ss -tanl State      Recv-Q Send-Q                     Local Address:Port                       Peer Address:Port LISTEN     0     128                                  :::111                                 :::* LISTEN     0     128                                   *:111                                  *:* LISTEN     0     100                                   :::8080                                 :::* LISTEN     0     128                                  :::49906                               :::* LISTEN     0     128                                   *:56818                                *:* LISTEN     0     128                                  :::22                                  :::* LISTEN     0     128                                   *:22                                   *:* LISTEN     0     128                           127.0.0.1:631                                   *:* LISTEN     0     128                                 ::1:631                                 :::* LISTEN     0     100                                  ::1:25                                   :::* LISTEN     0     100                           127.0.0.1:25                                    *:* LISTEN     0     128                           127.0.0.1:6010                                 *:* LISTEN     0     128                                 ::1:6010                                :::* LISTEN     0     128                           127.0.0.1:6011                                  *:* LISTEN     0     128                                  ::1:6011                                 :::* LISTEN     0     128                           127.0.0.1:6012                                  *:* LISTEN     0     128                                 ::1:6012                                :::* LISTEN     0     1                      ::ffff:127.0.0.1:8005                                 :::* LISTEN     0     100                                  :::8009                                :::* ###解析:tomcat默認(rèn)監(jiān)聽在8080端口上,啟動(dòng)監(jiān)聽端口為8005,8009#### ##########Tomcat B服務(wù)器上同樣安裝,這里就不再重復(fù)演示了######## ##########更改監(jiān)聽端口############ [root@node1conf]# vim /usr/local/tomcat/conf/server.xml     <Connector port="80"protocol="HTTP/1.1"            #70行               connectionTimeout="20000"                redirectPort="8443"/> ##########重新啟動(dòng)服務(wù)############ [root@node1conf]# catalina.sh stop [root@node1conf]# catalina.sh start [root@node1conf]# scp server.xml 192.168.18.2:/usr/local/tomcat/conf/ [root@node2local]# catalina.sh stop [root@node2local]# catalina.sh start

3、配置前端服務(wù)器實(shí)現(xiàn)負(fù)載均衡

##########安裝Apache################### [root@node~]# yum -y install httpd [root@node~]# service httpd start ##########配置基于mod_proxy代理,負(fù)載均衡######## [root@node~]# cd /etc/httpd/conf.d/ [root@nodeconf.d]# vim mod_proxy_tomcat.conf ProxyViaOn ProxyRequestsOff      #關(guān)閉正向代理 ProxyPreserveHostOff <Proxybalancer://hotcluster>     #定義代理的后端服務(wù)器 BalancerMember  http://192.168.18.39:80 loadfactor=1       #指定后端服務(wù)器地址及端口 BalancerMember  http://192.168.18.36:80 loadfactor=1 ProxySet  lbmethod=byrequests </Proxy> <Location/zhao>   SetHandler balancer-manager   Proxypass !   Order Deny,Allow   Allow from all </Location> ProxyPass/ balancer://hotcluster/ #stickysession=JSESSIONID|jsessionidnofailover=On ProxyPassReverse/ balancer://hotcluster/ <Proxy*>   Order Allow,Deny   Allow From all </Proxy> <Location  / >   Order Allow,Deny   Allow From all </Location> ############測(cè)試語法的正確性############## [root@nodeconf.d]# service httpd configtest ###########重啟服務(wù)####################### [root@nodeconf.d]# service httpd restart

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

4、查看鏈接狀況開啟tomcat管理功能:

##注意:由于兩臺(tái)后端服務(wù)器可能都會(huì)用到,所以兩邊都要?jiǎng)?chuàng)建用戶并且保持一致## #########更改用戶管理配置文件###### [root@node1conf]# vim /usr/local/tomcat/conf/tomcat-users.xml ##內(nèi)容:##   <rolerolenamerolerolename="manager-gui"/>   <role rolename="admin-gui"/>   <user username="tomcat"password="tomcat" roles="manager-gui,admin-gui"/> #########復(fù)制到Tomcat B########### [root@node1conf]# scp tomcat-users.xml 192.168.18.2:/usr/local/tomcat/conf/ ##########重新啟動(dòng)服務(wù)############ [root@node1conf]# catalina.sh stop [root@node1conf]# catalina.sh start [root@node2local]# catalina.sh stop [root@node2local]# catalina.sh start

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

5、簡(jiǎn)單部署主頁查看session值:

##########部署虛擬目錄和部署主頁#############         #########  Tomcat A  ########### [root@node1 tomcat]#  mkdir webapps/testapp/WEB-INF/{lib,classes} -pv [root@node1 tomcat]# vim webapps/testapp/index.jsp ###內(nèi)容### <%@ page language="java" %> <html>   <head><title>TomcatA</title></head>   <body>     <h2><font color="red">TomcatA </font></h2>     <table align="centre" border="1">       <tr>         <td>Session ID</td>     <% session.setAttribute("abc","abc"); %>         <td><%= session.getId() %></td>       </tr>       <tr>         <td>Created on</td>         <td><%= session.getCreationTime() %></td>      </tr>     </table>   </body> </html> [root@node1 tomcat]# catalina.sh stop [root@node1 tomcat]# catalina.sh start           ############ Tomcat B ########### [root@node2 tomcat]#  mkdir webapps/testapp/WEB-INF/{lib,classes} -pv [root@node2 tomcat]# vim webapps/testapp/index.jsp ###內(nèi)容### <%@ page language="java" %> <html>   <head><title>TomcatB</title></head>   <body>     <h2><font color="blue">TomcatB </font></h2>     <table align="centre" border="1">       <tr>         <td>Session ID</td>     <% session.setAttribute("abc","abc"); %>         <td><%= session.getId() %></td>       </tr>       <tr>         <td>Created on</td>         <td><%= session.getCreationTime() %></td>      </tr>     </table>   </body> </html> [root@node2 webapps]# catalina.sh stop [root@node2 webapps]# catalina.sh start

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

6、基于內(nèi)存復(fù)制實(shí)現(xiàn)session共享集群:

############# Tomcat A ############ [root@node1 ~]# cd /usr/local/tomcat/conf/ [root@node1 conf]# nano server.xml      #由于以下內(nèi)容有縮進(jìn)格式建議使用此編輯器 ##添加在/host和/engine之間:##         <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"                  channelSendOptions="8">           <Manager className="org.apache.catalina.ha.session.DeltaManager"                    expireSessionsOnShutdown="false"                    notifyListenersOnReplication="true"/>           <Channel className="org.apache.catalina.tribes.group.GroupChannel">             <Membership className="org.apache.catalina.tribes.membership.McastService"                         address="228.0.0.4"                         port="45564"                         frequency="500"                         dropTime="3000"/>             <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"                       address="192.168.18.1"            #自己的地址                       port="4000"                       autoBind="100"                       selectorTimeout="5000"                       maxThreads="6"/>             <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">               <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>             </Sender>             <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>             <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch25Interceptor"/>           </Channel>           <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"                  filter=""/>           <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>           <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"                     tempDir="/tmp/war-temp/"                     deployDir="/tmp/war-deploy/"                     watchDir="/tmp/war-listen/"                     watchEnabled="false"/>           <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>           <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>         </Cluster> #停止tomcat## [root@node1 ~]# catalina.sh stop [root@node1 conf]# cp web.xml ../webapps/testapp/WEB-INF/ [root@node1 conf]# vim ../webapps/testapp/WEB-INF/web.xml 添加如下字段:   <distributable />             #表示這個(gè)應(yīng)用程序的會(huì)話將實(shí)現(xiàn)分布式 [root@node1 conf]# scp ../webapps/testapp/WEB-INF/web.xml 192.168.18.2:/usr/local/tomcat/webapps/testapp/WEB-INF/ [root@node1 conf]# scp server.xml 192.168.18.2:/usr/local/tomcat/conf/ [root@node1 conf]# catalina.sh start ############ Tomcat B ########### [root@node1 ~]# catalina.sh stop [root@node1 conf]# catalina.sh start

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

總結(jié):我們發(fā)現(xiàn)無論如何刷新,session id的信息都不會(huì)再改變。至此我們完成了使用mod_proxy實(shí)現(xiàn)負(fù)載均衡和利用tomcat集群實(shí)現(xiàn)session共享。下面我們來部署商店的應(yīng)用。

7、在線商店的應(yīng)用實(shí)現(xiàn)

############ Tomcat A ############ [root@node1 ~]# unzip shopxx-a5-Beta.zip [root@node1 ~]# mv shopxx-v3.0-Beta/* /usr/local/tomcat/webapps/shopxx [root@node2 tomcat]# vim webapps/shopxx/WEB-INF/web.xml <distributable />   #添加此字段 ############ Tomcat B ############ [root@node2 ~]# unzip shopxx-a5-Beta.zip [root@node2 ~]# mv shopxx-v3.0-Beta/* /usr/local/tomcat/webapps/shopxx [root@node2 tomcat]# vim webapps/shopxx/WEB-INF/web.xml <distributable />   #添加此字段

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

注:安裝環(huán)境不符合基本環(huán)境需要增加內(nèi)存:方法如下

######## Tomcat A ######################## [root@node1 ~]# cd /usr/local/tomcat/bin/ [root@node1 bin]# vim catalina.sh JAVA_OPTS="$JAVA_OPTS -Xmx256M"     //237行 注釋:修改java虛擬機(jī)的內(nèi)存需要在啟動(dòng)腳本里修改; -Xmx:定義java虛擬機(jī)使用最大內(nèi)存。其中M:指的是MB,不指定則為KB ######### Tomcat B 服務(wù)器也需要更改####### #########重新啟動(dòng)服務(wù)#####################

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

更改完之后下一步:無法進(jìn)入到安裝頁面會(huì)重新回到進(jìn)入頁面;

原因:因?yàn)榘惭b時(shí)后端可能會(huì)出現(xiàn)負(fù)載均衡轉(zhuǎn)移所以導(dǎo)致無法進(jìn)入安裝頁面,只能使用本地安裝

######切換至前端服務(wù)器######### [root@node ~]# yum -y install firefox [root@node ~]# firefox &

安裝商城應(yīng)用

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

安裝mysql服務(wù)器,并授權(quán)一個(gè)用戶用于登錄安裝服務(wù)

############ Tomcat A ############ [root@node1 shopxx]# yum -y install mysql-server [root@node1 shopxx]# service mysqld start [root@node1 shopxx]# mysql mysql> grant all on *.* to 'shopuser'@'192.168.%.%' identified by 'shoppass'; mysql> flush privileges; ############ Tomcat B ############ [root@node2 shopxx]# yum -y install mysql-server [root@node2 shopxx]# service mysqld start [root@node2 shopxx]# mysql mysql> grant all on *.* to 'shopuser'@'192.168.%.%' identified by 'shoppass'; mysql> flush privileges;

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

點(diǎn)擊完成安裝,重啟web服務(wù)刪除install目錄

[root@node1 shopxx]# mv install install.bak [root@node1 shopxx]# catalina.sh stop [root@node1 shopxx]# catalina.sh start

將Tomcat A 上shopxx安裝文件復(fù)制到Tomcat B上

[root@node1 webapps]# scp -rp shopxx/* 192.168.18.2:/usr/local/tomcat/webapps/shopxx/ [root@node2 shopxx]# catalina.sh stop [root@node2 shopxx]# catalina.sh start

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

下面就可以可以在商城系統(tǒng)注冊(cè)一個(gè)帳號(hào),并登錄到系統(tǒng),購買一些衣服等,查看購物車中是否保存已加入到購物車中的衣服等等。

Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署

至此,tomcat基于session共享集群實(shí)現(xiàn)在線商城應(yīng)用部署就完美實(shí)現(xiàn)了,注意此商城不可做商業(yè)用途。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)站題目:Tomcat怎樣完美實(shí)現(xiàn)在線商城應(yīng)用部署
文章源于:http://muchs.cn/article46/pichhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站建設(shè)、建站公司、外貿(mào)建站、網(wǎng)站導(dǎo)航、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)