Tomcat
是由 Apache Foundation
研發用於支持 JSP(Java Server Page)
的網絡服務軟件.html
Ubuntu14.04
的源中包含了 tomcat 6/7
兩個版本, 你們能夠選擇任意一個進行安裝.java
Tomcat
sudo apt-get install tomcat6
或者linux
sudo apt-get install tomcat7
稍等片刻, Tomcat6
即會被自動安裝在 /usr/share/tomcat6
的目錄中shell
設置 Tomcat
運行的 JAVA
環境
首先請確保 Oracle/Sun
的 Java Development Toolkit
已經安裝.apache
若是還沒有安裝,參照Java-Ubuntu中文或者Ubuntu安裝JDK詳解bootstrap
要啓動Tomcat,運行ubuntu
sudo /etc/init.d/tomcat6 start
此時打開瀏覽器,在地址欄內輸入
http://localhost:8080瀏覽器
要中止Tomcat,運行tomcat
sudo /etc/init.d/tomcat6 stop
Tomcat
配置文件路徑Tomcat home directory : /usr/share/tomcat6 Tomcat base directory : /var/lib/tomcat6或/etc/tomcat6
Tomcat
的用戶賬號信息都保存在 tomcat-users.xml
的文件中, 運行安全
sudo nano /var/lib/tomcat6/conf/tomcat-users.xml
在的標籤前添加一行
<user username="用戶名" password="密碼" roles="admin,manager"/>
保存並關閉. 從新運行 tomcat
便可輸入該用戶名和密碼,登陸Tomcat的管理頁面.
Ubuntu
默認把 Tomcat
分到2個目錄, 在以後配置 Eclipse Server
時會把人逼瘋的, 配置哪一個路徑都不對, Eclipse
沒法識別安裝的Tomcat
.
解決方案:
sudo ln -s /var/lib/tomcat6/conf /usr/share/tomcat6/conf
sudo ln -s /etc/tomcat6/policy.d/03catalina.policy /usr/share/tomcat6/conf/catalina.policy sudo ln -s /var/log/tomcat6 /usr/share/tomcat6/log sudo chmod -R 777 /usr/share/tomcat6/conf
這種方法繞過 Ubuntu
自身的包管理器, 直接從 Apache Tomcat
的主頁上下載並使用 Tomcat
軟件, 該方法方便快捷的安裝舊版或新測試版 Tomcat
而並不影響系統的穩定性, 輕鬆自在.
從 tomcat
的官方下載頁面, 目前官網上提供以下幾個版本以供下載
版本 | Documentation | Download |
---|---|---|
6.0 | tomcat-6.0-doc | download-60 |
7.0.72 | tomcat-7.0-doc | download-70 |
8.0.38 | tomcat-8.0-doc | download-80 |
8.5.6 | tomcat-8.5-doc | download-80 |
9.0.0 | tomcat-9.0-doc | download-90 |
tomcat 8.5.6
我選擇下載了 Tomcat 8.5.6
版本.
下載 8.5.6->Binary Distributions->Core
分類中的 zip
或者 tar.gz
包後, 本地解壓縮並將新生成的目錄重命名爲tomcat
, 以方便使用.
將這個文件夾移動至某路徑PATH
, 好比我以調動到了 /opt/tomcat
, 參考以上設置環境變量和端口設置等步驟, 大功告成!
tar -zxvf apache-tomcat-8.5.6.tar.gz -C /opt cd /opt/apache-tomcat
注意
解壓縮完之後發現, 有些目錄
cd
沒有權限
ll發現是沒有, 運行權限的
linux
下ls
某文件夾須要文件夾有r
讀權限.cd
某文件夾 須要文件夾有x
運行權限chmod +x ./*
一樣想要運行bin下的腳本也須要運行權限, 所以
chmod +x ./bin/*.sh
bin
下存儲了咱們運行和配置 tomcat
所須要的腳本信息
腳本 | 描述 |
---|---|
daemon.sh | 守護進程(服務)的方式啓動和關閉tomcat , 以jsvc 管理tomcat , jsvc 能夠由commons-daemon-native.tar.gz 編譯出 |
setclasspath.sh | 設置JAVA運行環境 |
configtest.sh | 檢查 tomcat 運行環境和配置 |
startup.sh | 啓動tomcat |
shutdown.sh | 關閉tomcat |
version.sh | 顯示版本信息 |
tool-wrapper.sh | |
digest.sh | |
catalina.sh | 完善的服務腳本, 支持 start , stop , version 等方式, 能夠直接放到 /etc/init.d 下做爲服務來使用 |
首先咱們須要爲tomcat配置JAVA的環境變量, 直接寫到 setclasspath.sh
文件的開頭便可, 我寫入的內容以下所示
#--------------------- # java path #--------------------- JAVA_HOME=/usr/lib/jvm/java-8-oracle JRE_HOME=$JAVA_HOME/jre JAVA_BIN=$JAVA_HOME/bin CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME PATH CLASSPATH
剛開始的時候, 在
CLASSPATH
的開始配置了當前目錄.
即
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib致使運行的時候總是出錯, 其主要就是運行環境找不到, 由於
tomcat
運行須要bootstrap.jar
和tomcat-juli.jar
, 運行的時候在當前bin
目錄下找到了這兩個bin
包, 可是關閉服務的時候, 目錄更改了這兩個jar
包就沒有找到, 致使服務能起來, 可是卻結束不了
配置完 JAVA
以後, 檢查運行環境是否正確
sudo sh configtest.sh
咱們提到了 catalina.sh
腳本其實就是一個完備的服務集合, 所以上面的命令等價於
sudo sh catalina.sh configtest
configtest.sh
腳本其實就是運行了catalina.sh configtest
命令, 這點能夠從其源碼中看到
PRGDIR=`dirname "$PRG"` EXECUTABLE=catalina.sh exec "$PRGDIR"/"$EXECUTABLE" configtest "$@"
若是 ERROR
的話, 說明沒有配置沒有問題
sudo ./startup.sh
等價於
sudo sh catalina.sh start
./shutdown.sh
等價於
sudo sh catalina.sh stop
打開http://localhost:8080
catalina.sh
腳本能夠直接做爲服務來使用, 咱們作一個了連接便可
cd /etc/init.d sudo ln -s /opt/apache-tomcat/catalina.sh ./tomcat8
固然咱們也能夠本身作一個
#!/bin/sh # # /etc/init.d/tomcat8 -- startup script for the Tomcat 8 servlet engine # # Written by Miquel van Smoorenburg <miquels@cistron.nl>. # Modified for Debian GNU/Linux by Ian Murdock <imurdock@gnu.ai.mit.edu>. # Modified for Tomcat by Stefan Gybas <sgybas@debian.org>. # Modified for Tomcat6 by Thierry Carrez <thierry.carrez@ubuntu.com>. # Modified for tomcat8 by Ernesto Hernandez-Novich <emhn@itverx.com.ve>. # Additional improvements by Jason Brittain <jason.brittain@mulesoft.com>. # ### BEGIN INIT INFO # Provides: tomcat8 # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Should-Start: $named # Should-Stop: $named # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start Tomcat. # Description: Start the Tomcat servlet engine. ### END INIT INFO set -e PATH=/bin:/usr/bin:/sbin:/usr/sbin NAME=tomcat8 DESC="Tomcat servlet engine" if [ `id -u` -ne 0 ]; then echo "You need root privileges to run this script" exit 1 fi # Make sure tomcat is started with system locale if [ -r /etc/default/locale ]; then . /etc/default/locale export LANG fi . /lib/lsb/init-functions if [ -r /etc/default/rcS ]; then . /etc/default/rcS fi case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" sh /opt/apache-tomcat/bin/startup.sh ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" sh /opt/apache-tomcat/bin/shutdown.sh ;; status) set +e if [ "$?" = "0" ]; then if [ -f "$CATALINA_PID" ]; then log_success_msg "$DESC is not running, but pid file exists." exit 1 else log_success_msg "$DESC is not running." exit 3 fi else log_success_msg "$DESC is running with pid `cat $CATALINA_PID`" fi set -e ;; restart|force-reload) $0 stop sleep $0 start ;; *) log_success_msg "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac exit 0
那麼啓動 tomcat8
service tomcat8 start OR etc/init.d/tomcat8 start
中止 tomcat8
service tomcat8 stop OR etc/init.d/tomcat8 stop
sudo apt-get install jsvc
或者直接用tomcat自帶的源碼包進行編譯
tar -zxvf commons-daemon-native.tar.gz
cd commons-daemon-1.0.15-native-src/unix ./configure --with-java=$JAVA_HOME make
更多Tomcat相關教程見如下內容:
CentOS 6.6下安裝配置Tomcat環境 http://www.linuxidc.com/Linux/2015-08/122234.htm
RedHat Linux 5.5安裝JDK+Tomcat並部署Java項目 http://www.linuxidc.com/Linux/2015-02/113528.htm
Tomcat權威指南(第二版)(中英高清PDF版+帶書籤) http://www.linuxidc.com/Linux/2015-02/113062.htm
Tomcat 安全配置與性能優化 http://www.linuxidc.com/Linux/2015-02/113060.htm
Linux下使用Xshell查看Tomcat實時日誌中文亂碼解決方案 http://www.linuxidc.com/Linux/2015-01/112395.htm
CentOS 64-bit下安裝JDK和Tomcat並設置Tomcat開機啓動操做步驟 http://www.linuxidc.com/Linux/2015-01/111485.htm
CentOS 6.5下安裝Tomcat http://www.linuxidc.com/Linux/2015-01/111415.htm
Tomcat中session的管理機制 http://www.linuxidc.com/Linux/2016-09/135072.htm