linuxtomcat環境變數配置
① 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伺服器
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
1、tomcat基本不需要安裝
2、將tomcat解壓到指定位置,例如/opt/tomcat
3、安裝jdk,編輯/etc/bashrc
增加配置export JAVA_HOME=/opt/jdk1.7
4、這個不是必須的
ln -s /opt/jdk1.7/bin/java /usr/bin
5、cd /opt/tomcat
執行./bin/startup.sh即可
6、netstat -ntlp檢查埠
④ linux系統tomcat的安裝配置(一)含jdk環境變數配置
自己試很少在linux上操作的,最近買了億速雲的香港雲,有了自己的linux環境,就稍微在這個上面試試手。系統是centos7.2 64bit的,所有的設置都是億速雲給的鏡像的默認設置,我什麼也沒做。直接先把jdk-7u79-linux-x64.tar.gz、apache-tomcat-7.0.47.tar.gz的包通過Xshell 5和Xftp 5上傳然後解壓,在這個前提下進行的。本文的目的就是啟動tomcat後就直接啟動,然後成功後通過伺服器ip+埠訪問,看到tomcat默認的首頁。涉及到的可能都是很基礎的東西,但是自己不是很熟悉,所以都在此記錄一番。
1.解壓jdk.tar.gz指令
2.打開系統相關配置文件
3.添加JAVA_HOME、PATH、CLASSPATH至剛剛的配置文件中(:wq保存退出)
4、測試配置
如果本來就有修改後重新應用
5、解壓tomcat(同理),並修改/conf/server.xml的8080為80(只是我不想加埠,剛剛好80埠也是閑著),在tomcat目錄下執行指令啟動tomcat(帶日誌的啟動,Ctrl+C可退出日誌)。
6、外網測試tomcat是否正常啟動
(這一塊要保證伺服器是埠開放的,如果環境不同比如有linux有開啟防火牆等,本文只是記錄最簡單的成功的一次操作,具體失敗要先看環境因素,此處不做描述)
7、其他相關操作
當然如上其實就已經成功了,但是實際中可能我們還需要關閉。有人說最好不要shutdown,用kill的方式,具體我也不是太清楚,目前沒有深究,就用kill的方式去關閉。
查看進程:
⑤ 初學linux,怎麼給tomcat加啟動參數
1、首先下載Jdk
官網下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、配置環境變數:
滑鼠右擊「計算機」,選擇「屬性」,點擊彈出來的「高級系統設置」,選擇「高級」選項卡,點擊下部的「環境變數」
新建系統變數:
變數名:JAVA_HOME
變數值:你的JDK安裝目錄
3、再新建系統變數:
變數名:CLASSPATH
值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\BIN
4、注意:前面的點號
修改PATH變數
變數名:PATH
值: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
注意:前面的分號,將此值添加到,path變數值的最後面,如圖。
新建Tomcat環境變數
變數名:TOMCAT_HOME
變數值:你的TOMCAT所在目錄
5、現在就能啟動運行tomcat/bin/startup文件了。
最後,成功運行tomcat.
⑥ tomcat下,怎麼安裝配置php (linux系統)
一、安裝和系統環境變數設置
1、我使用的PHP為php-5.4.31,不用5.5以上版本的原因是,因為他們都是使用VC11編譯的,需要一個DLL,win7及一下都不支持。下載VC9編譯的PHP 5.4(5.4.31) for X86的已編譯版本。我的安裝目錄是D:\Application\php-5.4.31,
將安裝後的路徑設置到系統環境變數path中。
2、perl直接下載安裝即可(會自動配置環境變數,不用操心)。
3、Tomcat用的是7.0.41版本。很多文檔要求將server/lib下servlets-cgi改名為servlets-cgi.jar。從6版本以後,好像就沒有server目錄,內部已經自動支持cgi,只需要進行配置即可。
Tomcat需要JDK 1.6以上,所以JDK需要先安裝好。
二、配置步驟:
1、到D:\Application\php-5.4.31目錄下
將php.ini-development復制一份同一目錄下,命名為php.ini
<1>設置extension_dir參數:
extension_dir="D:\Application\php-5.4.31\ext"
<1>設置cgi.force_redirect參數:
cgi.force_redirect = 0
2、打開Tomcat的conf下的context.xml文件
給Context增加屬性privileged="true",修改後的Context元素屬性如下所示:
<Context privileged="true">
3、打開Tomcat的conf下的web.xml文件
在servlet和servlet-mapping之間增加如下的內容:(注意,注釋不能放到配置項裡面,否則啟動報錯)
<!—Add to support PHP & Perl -->
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi-bin</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet>
<servlet-name>php</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>clientInputTimeout</param-name>
<param-value>200</www.gzlij.com param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>D:\Application\php-5.4.31\php-cgi.exe</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/php-bin</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>php</servlet-name>
<url-pattern>/php-bin/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
備註:
1、我們配製了兩個servlet,分別是php、CGI
2、在servlet參數中
<param-name>executable</param-name>
<param-value>D:\Application\php-5.4.31\php-cgi.exe</param-value>
指向CGI程序執行器,其實就一可被調用的可執行程序。(這里帶全路徑,好像不帶路徑也可以,因為path環境變數里已經配置了),記住不要用php.exe。
如果沒有配置,預設就是調用perl執行程序。
3、腳本存放路徑
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi-bin</param-value>
這里將perl腳本配置的是指向webapps/web-inf/cgi-bin目錄下。
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/php-bin</param-value>
PHP的腳本指向的是webapps/web-inf/php-bin目錄下。
4、資源URL路徑映射。
這里如果請求的資源是/php-bin/*則,指向php服務程序,如果是/cgi-bin/*則指向cgi服務程序。
<servlet-mapping>
<servlet-name>php</servlet-name>
<url-pattern>/php-bin/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
三、測試
1、分別將如下的test.php和test.cgi測試程序放到webapps\ROOT\WEB-INF\php-bin和webapps\ROOT\WEB-INF\cgi-bin目錄下。
其中test.php內容如下:
<?php phpinfo();?>
Test.cgi內容如下:
# filename: test1.cgi
print "Content-type: text/html\n\n";
print "Hello, world!\n"
2、重新啟動tomcat。
瀏覽器地址欄輸入:http://127.0.0.1:8080/php-bin/test.php
如果顯示如下,則說明PHP設置正確。
<?php
echo "hello World!\n\n";
echo "hello World!\n\n";
echo "hello World!\n\n";
?>
針對上面的程序,如果配置中使用的是PHP.exe,則只能現實兩行「hello world!」, 第一行總是莫名其妙地丟失。而且對php-info()函數,第一行也會丟失。
(很多文檔中都提到這個問題,其實就是因為用錯了程序。)
瀏覽器地址欄輸入:http://127.0.0.1:8080/cgi-bin/test.cgi
如果顯示「hello world!」,則說明cgi設置正確。
⑦ 如何在linux配置JDK環境變數和tomcat環境變數,配置好後如何使用tomcat
linux環境變數和windows類似分全局和用戶的
全局的 /etc/profile 用戶的 用戶根目錄 .bash_profile
配置全局 vi /etc/profile
i 編輯模式
在文件最後
export JAVA_HOME=/usr/local/java/jdk1.6.0_13
export PATH=$JAVA_HOME/bin:$PATH
配置用戶的 內容一樣
tomcat本分不需要關聯其他只需讀取系統配置的JDK變數
可直接拷貝整個目錄然後 進入bin 目錄下 執行 startup.sh
⑧ linux下的tomcat配置環境變數的作用
tomcat的環境變數在運行的時候就自動配上了。《linux就該這么學》
但是我們可以自定義配置環境變更,跟據自己的要求去運行tomcat。
⑨ linux怎麼配置tomcat
配置Tomcat
我這里用的是免安裝版的下載地址:http://tomcat.apache.org/ 我下載的是tomcat5.5
不需要安裝,直接設置環境變數:
vi.bash_profile 打開加上這幾句
export JAVA_HOME=/tomcat/jdk1.6.0_23
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
export CATALINA_BASE=/tomcat/tomcat-5.5
export CATALINA_HOME=/tomcat/tomcat-5.5
到這里tomcat就配置完畢
檢測
打開tomcat-5.0.24/bin/下的startup.sh
輸入http://serverip:8080 打開控制台。至此tomcat配置完畢。