tomcat6linux
❶ linux下apache+tomcat集群詳細配置
環境:
操作系統均為:CentOS 5.1
Apache2.X伺服器一台:IP地址192.168.232.4;安裝路徑/usr/local/apache;
Tomcat6伺服器一台:IP地址192.168.232.5;安裝路徑/usr/local/tomcat;
Tomcat6伺服器一台:IP地址192.168.232.6;安裝路徑/usr/local/tomcat;
配置:
Apache安裝:
#./configure --prefix=/usr/local/apache --enable-moles=so --enable-mods-shared=all --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite
注釋:激活tomcat集群需要的 enable-proxy,enable-proxy-http,enable-proxy-connect,enable-proxy-ajp和enable-proxy-balancer,其中proxy-ajp和proxy-balancer必須依賴proxy,如果是自定義的編譯除了以上幾個必須的模塊外,mod_status也要編譯進去,切記。enable-proxy-ftp可以不編譯。
#make;make install
製作Apache啟動項:
#cp support/apachectl /etc/rc.d/init.d/httpd
#vi /etc/rc.d/init.d/httpd
添加以下內容:(包括#號)
# Startup script for the Apache Web Server
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server .It is used to server
# HTML files and CGI.
# processname: httpd
# pidfile: /usr/local/apache/log/httpd.pid
# config: /usr/local/apache/conf/httpd.conf
增加服務項
#chkconfig --add httpd
#chmod 755 /etc/rc.d/init.d/httpd
#chkconfig --level 345 httpd on
JDK安裝:
#chmod a+x jdk-6u4-linux-i586-rpm.bin
#./jdk-6u4-linux-i586-rpm.bin
java環境變數設置:
#vi /etc/profile
在文件最後添加以下內容:
JAVA_HOME=/usr/java/jdk1.6.0_04
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME CLASSPATH PATH CATALINA_HOME
執行如下命令使環境變數生效:
source /etc/profile
測試配置是否成功:
java –version
Tomcat安裝:
#wget [url]http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.tar.gz[/url]
#tar zxvf apache-tomcat-6.0.16.tar.gz
#mv apache-tomcat-6.0.16 /usr/local/tomcat
Tomcat隨機啟動:
#vi /etc/rc.local
添加以下內容:
/usr/local/tomcat/bin/startup.sh
tomcat6配置文件server.xml:
把
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<Engine name="Catalina" defaultHost="localhost">
改成
<!-- You should set jvmRoute to support load-balancing via AJP ie :
-->
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcatX">
<!--
<Engine name="Catalina" defaultHost="localhost">
-->
說明:
第一台tomcat就把jvmRoute="tomcat1"
第二台tomcat就把jvmRoute="tomcat2"
把
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
去掉注釋變為
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
***群集詳細配置***
<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="auto"
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.MessageDispatch15Interceptor"/>
</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."/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
配置應用的web.xml:
在每個webapps應用中,修改配置文件web.xml文件 添加元素<distributable/>
在web.xml文件中<web-app>元素下增加以下內容:
<!--此應用將與群集伺服器復制Session-->
<distributable/>
具體修改如下:
修改前:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="[url]http://java.sun.com/xml/ns/javaee[/url]"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [url]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]"
version="2.5">
</web-app>
修改後:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="[url]http://java.sun.com/xml/ns/javaee[/url]"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [url]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]"
version="2.5">
<!--此應用將與群集伺服器復制Session-->
<distributable/>
</web-app>
配置apache的ajp負載均衡功能:
確保將以下Mole的注釋去掉
LoadMole proxy_mole moles/mod_proxy.so
LoadMole proxy_connect_mole moles/mod_proxy_connect.so
LoadMole proxy_ftp_mole moles/mod_proxy_ftp.so
LoadMole proxy_http_mole moles/mod_proxy_http.so
LoadMole proxy_ajp_mole moles/mod_proxy_ajp.so
LoadMole proxy_balancer_mole moles/mod_proxy_balancer.so
LoadMole status_mole moles/mod_status.so
增加以下內容:
# Proxypass Config
Include conf/extra/httpd-modproxy.conf
建立文件httpd-modproxy.conf輸入內容:
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from all
</Location>
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from all
</Location>
ProxyRequests Off
ProxyPass / balancer://tomcatcluster stickysession=jsessionid nofailover=On
<Proxy balancer://tomcatcluster>
BalancerMember [url]http://192.168.232.5:8080[/url] loadfactor=1
BalancerMember [url]http://192.168.232.6:8080[/url] loadfactor=2
</Proxy>
注釋:
ProxyRequests Off 表示啟用反向代理,必須開啟;
ProxyPass為代理轉發的Url,即將所有訪問/的請求轉發到群集balancer://tomcatcluster,這里為/即將所有訪問/的請求轉發到群集balancer://tomcatcluster的/test目錄;
BalancerMember為群集的成員,即群集伺服器1或2,負載均衡伺服器會根據均衡規則來將請求轉發給BalancerMember;
調試負載均衡集群系統:
訪問apache伺服器的web服務:[url]http://192.168.232.4/balancer-manager[/url]
如果顯示負載均衡有關信息則說明成功了,接著可以訪問[url]http://192.168.232.4/[/url]即訪問到了tomcat的應用
***必須先啟動Tomcat服務再啟動Apache服務!***
參考文檔:
[url]http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html[/url]
[url]http://tomcat.apache.org/tomcat-6.0-doc/balancer-howto.html[/url]
[url]http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_proxy.html[/url]
[url]http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_proxy_balancer.html[/url]
❷ 在Linux上部署tomcat等應用,一般部署在哪個目錄下
以Linux 分支 Ubuntu Server 為例。一、相關目錄及作用說明
/etc/tomcat6 - 全局配置
/usr/share/tomcat6/ - 程序主目錄
/usr/share/tomcat6/conf/Catalina/localhost/ - 本機部署的 Catalina 配置
/var/lib/tomcat6/ - 工作主目錄
/var/lib/tomcat6/webapps - (應用文件實際存放於此)
/var/lib/tomcat6/work - 動態工作目錄(動態編譯的 .jsp 存放於此)
二、添加管理用戶
在 /etc/tomcat6 下是 tomcat 的全局配置,這里需要修改 tomcat-users.xml
a. 添加角色名
<role rolename="manager"/>
<role rolename="admin"/>
b. 添加用戶
<user username="admin" password="admin" roles="admin,manager"/>
這樣在重啟 tomcat 後,才可以用 admin 登錄到 manager 頁面。
三、啟動/停止命令
很多時候需要手動啟動/停止 tomcat,/usr/share/tomcat6 是 tomcat 的主程序目錄。
/usr/share/tomcat6/bin/startup.sh
/usr/share/tomcat6/bin/shutdown.sh
這兩個便是啟動和停止 tomcat 服務的腳本。
次次啟動的話,此處有可能需要手動創建 conf 和 logs 目錄:
#cd /usr/share/tomcat6
#mkdir conf
#mkdir logs
如果要非 root 身份啟動 tomcat,則需要修改 logs 目錄許可權:
#chmod a+rw logs
❸ 如何在Linux系統上安裝tomcat
方法/步驟
1
下載tomcat
在網路搜索tomcat,看到第一條結果是帶有Apache Tomcat - Welcome字樣的,點擊進入tomcat的官網。
2
在左側導航條點擊Tomcat 7.0,會進入7.0的下載列表,點擊第一個zip,就會開始下載。(更多教程網路搜索:主機偵探)
3
上傳安裝包到伺服器
使用FTPCute、WinSCP等工具,可以把安裝包上傳到伺服器
路徑是/opt。
4
安裝tomcat
用Xshell等Linux遠程連接工具訪問伺服器。
進入/opt目錄,指令是cd /opt。
解壓安裝包,指令是unzip apache-tomcat-7.0.67.zip。
重命名解壓後的文件夾,指令是mv apache-tomcat-7.0.67 tomcat。
進入內部文件夾,指令是cd /opt/tomcat/bin。
嘗試啟動tomcat,指令是sh startup.sh,如果報錯Cannot find ./catalina.sh.The file is absent or does not have execute permission.This file is needed to run this program,則表示許可權不足。
開啟許可權,指令是chmod 777 *.sh,然後再次啟動tomcat,如果這時候沒有報錯,那就表示正在啟動了。
輸入tailf /opt/tomcat/logs/catalina.out,可以查看到tomcat的運行信息,如果看到INFO: Server startup in 1925 ms,則表示tomcat已經啟動成功了,按ctrl+c退出該日誌。
用指令sh shutdown.sh停止tomcat的運行,繼續進行後續操作。
5
修改tomcat默認埠
tomcat默認的埠是8080,也就是說我們在瀏覽器訪問的時候,需要在域名或IP後面加上:8080,這樣不太方便,但是這個可以修改。
打開tomcat配置文件,指令是vi /opt/tomcat/conf/server.xml。
打開之後按i或者a進入編輯模式。
找到8080,改為80。
然後按Esc鍵,然後按:wq,保存並退出(那個:是需要同時按著shift鍵才能出來的)。
啟動tomcat。
6
訪問
在瀏覽器輸入該伺服器的域名或者IP,能看到如下頁面,這是tomcat沒有部署任何東西的默認頁面。
❹ linux 怎麼啟動tomcat麻煩說詳細點,我是第一次用linux.用什麼命令
進入tomcat下的bin目錄執行 ./catalina.sh start直接啟動即可,然後使用tail -f /usr/local/tomcat6/logs/catalina.out查看tomcat啟動日誌。
❺ linux下tomcat6內存如何設置(詳細)我在catalina.sh裡面加了JAVA_OPTS每次重啟報指令無效!!
這樣寫:
declare -x JAVA_OPTS="-Xms128m -Xmx256"
"declare -x"一定要加,不然就會報-x指令無效,還有後面的引號也要注意加上
❻ linux怎樣搭建tomcat伺服器
1、先從Apache的官方網站下載下來tomcat6.0系列的文件,http://www.apache.org/tomcat/在這里找到Tomcat6.0的linux安裝文件,它跟windows是不一樣的,在官網上有相應的說明,linux版的tomcat是需要編譯源代碼襪侍的文件,如下載下來的文件為:apache-tomcat-6.0.30.zip
2、將下載的文件通過ftp傳輸到linux中,這里我推薦遠程連接工具SSH,linux遠程連接工具比較多。
3、解壓apache-tomcat-6.0.30.zip,命令為:unzip apache-tomcat-6.0.30.zip得到apache-tomcat-6.0.30這個目錄,將目錄拷貝到/opt/,然後為了方便改名為/opt/tomcat即可。
4、修改環境變數,將一下的變數配置放在之前配置jdk環境變數的後面帆敏即可,如下:
在目錄/etc下修改profile文件,使用命令為:vi /etc/profile
export CATALINA_HOME=/opt/tomcat
export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib
export PATH=$PATH:$CATALINA_HOME/bin
配置完成之後執行命令:source /etc/profile,如果沒有提示錯誤,證明配置ok
可以通過echo $CLASSPATH來查看環境配置
5、啟動tomcat服務
將目錄切換到opt/tomcat/bin執行sh catalina.sh,提示信息如下:
The BASEDIR environment variable is not defined correctly
This environment variable is needed to run this program
通過情況配置完成之後就會報此類錯誤提示,該提示表示bin目錄下相關.sh後綴文件沒有執行許可權,使用命令chmod +x *.sh來給所有的.sh文件以執行許可權,
再執行sh catalina.sh或者sh startup.sh,便提示如下信息表示配置ok:
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/jdk1.6.0_23
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar
6、查看tomcat的服務埠8080
命令:netstat -ntl | grep 8080,提示正常,在從windows客戶端使用tenlet ip 8080看看什麼情況,結果提示埠沒有被開啟,繼續檢查防火牆如下:
找到/etc/sysconfig/,vi iptables 在該防火牆配置文件中加入開放8080埠的配置如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
還有一種方法就是關閉防火牆,命令為:service iptables stop即可。
7、在客戶端訪問tomcat首頁
http://localhost:8080/如果正常顯示tomcat首頁表明配置ok。
8、部署一個web項目
將文件為ssh2.war的包上傳到opt/tomcat/webapps目錄下,然後重啟tomcat,如下命令:./catalina.sh run,部署ssh2.war並態好枝啟動tomcat
在客戶端輸入http://localhost:8080/ssh2,顯示登錄頁面表明項目部署成功。
❼ Linux下查看tomcat佔用埠
摘自:http://blog.csdn.net/liufuwu1/article/details/71123597
1、先查看tomcat的進程號
ps -ef | grep tomcat*
後面帶*號,是為了查看多個tomcat,例如tomcat6,tomcat7。
2、根據進程號查看埠號
netstat -anop | grep 15161
可以看到8865、8866、8867埠號被佔用
3、此外,還可以通過埠號,查看其所屬的進程號相關信息
lsof -i: 8866