???? JDK:????? j2sdk-1_4_2_01-linux-i586.bin
???? TOMCAT:?? jakarta-tomcat-5.0.19.tar.gz
???
???? 安裝步驟:
???
???? JDK:
???? 1)將安裝程序復制到 /usr/local目錄下
???
???? 2)執行命令:
???
??????? ./j2sdk-1_4_2_01-linux-i586.bin
???
??????? 解壓后得到目錄j2sdk-1.4.2_01,將目錄名改為j2sdk-1.4.2,不然后面的操作會無效。
???
???? 3)依次執行下列命令:
???
??????? ln -s j2sdk-1.4.2 jdk
??????? ln -s jdk/jre jre
???
???? 4)設置環境變量
???
??????? vi /etc/profile
??
??????? 加入如下內容:
???
??????? JAVA_HOME=/usr/local/jdk
??????? export JAVA_HOME
??????? CLASSPATH=/usr/local/jdk/lib:/usr/local/jre/lib
??????? export CLASSPATH
??????? PATH=$PATH:/usr/local/jdk/bin:/usr/local/jre/bin
???
???? 5)測試JDK是否安裝成功
???
??????? cd /etc
??????? javac
???
??????? 如果出現關于javac的使用說明,表示安裝成功。???
???
???? TOMCAT:
???? 1)將安裝程序復制到 /usr/local目錄下
??
???? 2)執行命令:
???
??????? tar -zxvf jakarta-tomcat-5.0.19.tar.gz
???
??????? 解壓后得到目錄jakarta-tomcat-5.0.19
???
???? 3)設置環境變量
??
??????? vi /etc/profile
??
??????? 加入如下內容:
??
??????? TOMCAT_HOME=foo/tomcat
??????? export TOMCAT_HOME
??
???? 4)進入 /usr/local/jakarta-tomcat-5.0.19/bin,執行:
??
??????? ./startup.sh start
???
????? ? 啟動tomcat服務器
??
???? 5)測試是否安裝成功
??
??????? 用瀏覽器瀏覽http://localhost:8080
???
??????? 如果出現tomcat的歡迎頁面,表示安裝成功。
?
?
?
我假設你使用Debian3,如果你使用其他的Linux版,可能會有安裝方法和設置路徑上的區別。
1,安裝J2SDK 1.1 使用Debian源里的安裝包
以root 身份運行apt-get install sun-j2sdk1.4,這樣將安裝sun的j2sdk1.4。然后輸入java如果你看到的不是command not found,就表示你已經安裝正確了。否則搜索是否有java和javac兩個文件,我的在/usr/lib/j2sdk1.4-sun/bin下,如果 有就創建鏈接到/usr/bin下,連接名與原文件名一樣。
1.2 使用sun網站上的安裝包
具體方法參考sun網站上的安裝說明。也可以參考我的做法(圖形界面操作):
下載正確的壓縮包后解壓,一般得到類似名為jdk1.x.x的文件夾。將整個文件夾移動到/usr/lib目錄下,然后進入 jdk.1.x.x/bin下的java, javac, javadoc, jar四個可執行文件創建鏈接,然后復制到/usr/bin文件夾下,并且改名為與原文件相同。這樣做的原因是一般/usr/bin是$PATH環境變量 的一部分,以后你想運行javac命令編繹一個.java源文件時,只需要輸入javac filename就行了,而不需要輸入javac文件所在的完整路徑。
JAVA_HOME環境變量可以不設置,因為據我的使用經驗,java,javac等jdk的程序知道在哪里找到自己的家。當某個程序需要JAVA_HOME環境變量,我們再在它的啟動腳本中設置。因為使用JAVA_HOME環境變量的程序很少。
2,安裝Tomcat 從 http://tomcat.apache.org/ 網站上下載tomcat for Linux。網站上有不同版本的源碼包和二進制包等,而二進制包又有core,deployer,embedded三種。我使用tomcat5.28二進制包中的core。
下載jakarta-tomcat-5.0.28.tar.gz解壓,將得到jakarta-tomcat-5.0.28文件夾,我把它改名為tomcat5,把它拷貝到你喜歡的地方。我放在/usr/share/下。
2.1 試運行tomcat
在終端中輸入/usr/share/tomcat5/bin/startup.sh,將啟動tomcat。然后你在瀏覽器中輸入 http://localhost:8080 或者 http://127.0.0.1:8080 你就看到tomcat產生的頁面了。
運行/usr/share/tomcat5/bin/startup.sh出錯?試運行:
JAVA_HOME=/usr/lib/j2sdk1.4_sun #這里的路徑是你的j2sdk的安裝路徑export JAVA_HOME/usr/share/tomcat5/bin/startup.sh2.2 將tomcat設置為開機啟動 有兩個方法,1是使用tomcat自帶的啟動腳本啟動,2是使用jsvc將tomcat啟動為Linux的一個進程。
2.2.1
建立一個腳本命名為tomcat5.sh,內容為:
#!/bin/sh#file:tomcat5.sh#設置環境變量,如果無法啟動就將注釋去掉#JAVA_HOME=/usr/lib /j2sdk1.4-sun#CATALINA_HOME=/usr/share/tomcat5#CLASSPATH=\#$JAVA_HOME/lib/tools.jar:\#$CATALINA_HOME/bin/commons-daemon.jar:\#$CATALINA_HOME/bin/bootstrap.jarcase "$1" in start) echo "Starting tomcat5..." /usr/tomcat5/bin/startup.sh ;; stop) echo "Stopping tomcat5..." /usr/tomcat5/bin/shutdown.sh ;; *) echo "Usage tomcat.sh start/stop" exit 1;;esac#tomcat5.sh end將tomcat5.sh 拷貝到/etc/init.d下面。然后運行/usr/bin/ksysv運行圖形界面的開機啟動設置工具。將Available Services欄里的tomcat5.sh拖到Runlever 2 Start,Runlever 3 Start,Runlever 4 Start,Runlever 5 Start,Runlever 6 Start,Runlever 0 Stop,Runlever 1 Stop,Runlever 6 Stop,你可能需要注意圖標的位置,我將圖標拖到每一欄的啟動項目標號是90的位置。
或者你在終端里運行:
ln -s /etc/init.d/tomcat5.sh /etc/rc0.d/K90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc1.d/K90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc2.d/S90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc3.d/S90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc4.d/S90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc5.d/S90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc6.d/K95tomcat5.sh重啟機器看tomcat是否可以自動啟動了。
2.2.2
方法2.2.1有一個嚴重的問題,那就是tomcat具有root權限。我意味著你的任何一個jsp腳本都具有root權限,所以可以輕易地用jsp腳本刪除你整個硬盤里的東西!所以我們最好不要使用2.2.1方法。
我們下載的jakarta-tomcat-5.0.28.tar.gz帶有fsvc工具,在壓縮包里的jakarta-tomcat- 5.0.28/bin/fsvc.tar.gz,如果你按上面的步驟做了,它就在 /usr/share/tomcat5/bin/fsvc.tar.gz,將其解壓,得到/usr/share/tomcat5/bin/fsvc- src文件夾。在終端運行:
/usr/share/tomcat5/bin/fsvc-src/configure --with-java=/usr/lib/j2sdk1.4-sun
make
得到/usr/share/tomcat5/bin/fsvc-src/fsvc文件。將/usr/share/tomcat5/bin /fsvc- src/native/tomcat5.sh腳本文件拷貝到/etc/init.d下,再使用2.2.1中的的半部分方法將tomcat設置為自啟動。
/etc/init.d/tomcat5.sh還需要修改,使其看起來像:
JAVA_HOME=/usr/lib/j2sdk1.4-sunCATALINA_HOME=/usr/share/tomcat5DAEMON_HOME=/usr/share/tomcat5TOMCAT_USER=tomcat5 #這里改為一個普通身份的用戶名TMP_DIR=/var/tmpCATALINA_OPTS=CLASSPATH=\$JAVA_HOME/lib /tools.jar:\$CATALINA_HOME/bin/commons-daemon.jar:\$CATALINA_HOME/bin/bootstrap.jarcase "$1" in start) # # Start Tomcat # $DAEMON_HOME/bin/jsvc-src/jsvc \......先不要重啟試驗,請手動運行/etc/init.d/tomcat5.sh start,然后在瀏覽器中輸入 http://localhost:8080 或者 http://127.0.0.1:8080 看tomcat是否能夠啟 動,再運行/etc/init.d/tomcat5.sh stop看是否能停止。
問題:無法用fsvc啟動tomcat?
在 http://jakarta.apache.org/commons/daemon/faq.html 有 說明。如果你使用Debian,運行 modconf然后將/kernel/security下的capability模塊安裝上。如果你使用其它的版本,并且把capability編繹為模 塊,請在/etc/init.d/tomcat5.sh的合適位置(你想使用第2行?)加上modprobe capability。
3,設置tomcat的server.xml布署網站 如果你想讓別人在瀏覽器中輸入你的IP而不需要在IP后面加上“:端口號”就能訪問你的網站的話,請將
<connector port="8080" maxthreads="150" minsparethreads="25" maxsparethreads="75" enablelookups="false" redirectport="8443" acceptcount="100" debug="0" connectiontimeout="20000" disableuploadtimeout="true"></connector>中的port="8080"改為 port="80",因為80是瀏覽器請求的默認端口。找到
<host name="localhost" debug="0" appbase="webapps" unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"></host>修改為使appBase="/home/tomcatweb"。 并在其后面加上:
<context path="" docbase="/home/tomcatweb" crosscontext="false" debug="0" reloadable="true"></context>把你自己的index.jsp放在/home/tomcatweb目錄下, 然后在瀏覽器中輸入 http://127.0.0.1 ,你應該就能看到index.jsp的運行結果了。
4,中文問題 tomcat并沒有特殊的中文問題。而且大部分情況下的中文問題是因為用戶根本就不會寫JSP代碼,甚至不會寫HTML代碼。
4.1 簡單HTML文件的亂碼問題
一個HTML文件,里面包含有?形奈淖鄭紓?
<html><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /></head>你好。</html>上面的標簽告訴瀏覽器你的HTML文件使用的是UTF-8編碼格式。請將UTF- 8正確地設置為你的文本編輯器保存時的編碼,否則,只有全英文HTML源碼文件才能保證不出現亂碼。
4.2 簡單的JSP文件的亂碼問題
一個JSP文件,里面包含有中文文字,如:
<%@ page contentType="text/html; charset=UTF-8" %><html><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /></head><% out.println("你好。");%></html><%@ page contentType="text/html; charset=UTF-8" %>標簽告訴tomcat和java編繹器你的文件的編碼是UTF-8格式的。
4.3 被包含的文件的內容是亂碼
如果你的parent.jsp文件中使用<jsp:include page="child.jsp" >文件包含了child.jsp,請在parent.jsp和child.jsp文件中都指定了正確的<%@ page contentType="text/html; charset=UTF-8" %>(改UTF-8為正確的編碼),兩者可以不一樣。</jsp:include>
如果你的parent.jsp文件中使用<%@ include file="child.jsp" %>文件包含了child.jsp,請保證parent.jsp和child.jsp是相同的編碼,并且在parent.jsp中設置了正確的 <%@ page contentType="text/html; charset=UTF-8" %>(改UTF-8為正確的編碼)。不要在child.jsp中設置<%@ page contentType="text/html; charset=UTF-8" %>,否則,tomcat會出錯(不總是)。
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
