Ubunt安装和配置tomcat8服务

 

Ubunt安装和配置tomcat8服务

标签: ubuntujavaapachetomcatgithub
  1229人阅读  评论(0)  收藏  举报
  分类:

目录(?)[+]

CSDN GitHub
Ubunt安装和配置tomcat8服务 AderXCoding/system/tools/tomcat


知识共享许可协议 
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处 

1 tomcat介绍


Tomcat 是由 Apache Foundation 研发用于支持 JSP(Java Server Page) 的网络服务软件.

2 安装tomcat


2.1 源方式(不推荐)


Ubuntu14.04 的源中包含了 tomcat 6/7 两个版本, 大家可以选择任意一个进行安装.

  • 安装 Tomcat
sudo apt-get install tomcat6
   
   
  • 1
  • 1

或者

sudo apt-get install tomcat7
   
   
  • 1
  • 1

稍等片刻, Tomcat6 即会被自动安装在 /usr/share/tomcat6 的目录中

设置 Tomcat 运行的 Java 环境 
首先请确保 Oracle/Sun 的 java Development Toolkit 已经安装.

如果尚未安装,参照Java-Ubuntu中文或者Ubuntu安装JDK详解

  • 启动和停止Tomcat

要启动Tomcat,运行

sudo /etc/init.d/tomcat6 start
   
   
  • 1
  • 1

此时打开浏览器,在地址栏内输入 
http://localhost:8080

要停止Tomcat,运行

sudo /etc/init.d/tomcat6 stop
   
   
  • 1
  • 1
  • Tomcat 配置文件路径
Tomcat home directory : /usr/share/tomcat6
Tomcat base directory : /var/lib/tomcat6或/etc/tomcat6
   
   
  • 1
  • 2
  • 1
  • 2
  • 设置Tomcat管理员帐号

Tomcat 的用户帐号信息都保存在 tomcat-users.xml 的文件中, 运行

sudo nano /var/lib/tomcat6/conf/tomcat-users.xml
   
   
  • 1
  • 1

在的标签前添加一行

<user username="用户名" password="密码" roles="admin,manager"/>
   
   
  • 1
  • 1

保存并关闭. 重新运行 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
   
   
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

2.2 下载安装最新版本的Tomcat


2.2.1 官网的tomcat版本


这种方法绕过 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

2.2.2 下载安装 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
   
   
  • 1
  • 2
  • 1
  • 2

2.2.3 权限问题


注意

解压缩完以后发现, 有些目录 cd 没有权限

<code>cd</code> 没有权限

ll发现是没有, 运行权限的

没有运行权限

Linux下 
ls 某文件夹需要文件夹有 r 读权限. 
cd 某文件夹 需要文件夹有 x 运行权限

chmod +x ./*
    
    
  • 1
  • 1

同样想要运行bin下的脚本也需要运行权限, 因此

chmod +x ./bin/*.sh
    
    
  • 1
  • 1

2.2.4 配置和运行


bin 下存储了我们运行和配置 tomcat 所需要的脚本信息

运行和配置的脚本 

脚本 描述
daemon.sh 守护进程(服务)的方式启动和关闭tomcat, 以jsvc管理tomcatjsvc可以由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 完善的服务脚本, 支持 startstopversion 等方式, 可以直接放到 /etc/init.d 下作为服务来使用
  • 配置JAVA环境变量

首先我们需要为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
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

刚开始的时候, 在 CLASSPATH 的开始配置了当前目录.

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    
    
  • 1
  • 1

导致运行的时候老是出错, 其主要就是运行环境找不到, 因为 tomcat 运行需要 bootstrap.jar 和 tomcat-juli.jar, 运行的时候在当前bin 目录下找到了这两个 bin 包, 但是关闭服务的时候, 目录更改了这两个 jar 包就没有找到, 导致服务能起来, 但是却结束不了

  • 运行环境检查

配置完 JAVA 之后, 检查运行环境是否正确

sudo sh configtest.sh
   
   
  • 1
  • 1

我们提到了 catalina.sh 脚本其实就是一个完备的服务集合, 因此上面的命令等价于

sudo sh catalina.sh configtest
   
   
  • 1
  • 1

configtest.sh 脚本其实就是运行了catalina.sh configtest 命令, 这点可以从其源码中看到

PRGDIR=`dirname "$PRG"`
EXECUTABLE=catalina.sh
exec "$PRGDIR"/"$EXECUTABLE" configtest "$@"
   
   
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

如果 ERROR 的话, 说明没有配置没有问题

运行环境检查

  • 直接运行
sudo ./startup.sh
   
   
  • 1
  • 1

等价于

sudo sh catalina.sh start
   
   
  • 1
  • 1

启动tomcat

  • 关闭
./shutdown.sh
   
   
  • 1
  • 1

等价于

sudo sh catalina.sh stop
   
   
  • 1
  • 1

打开http://localhost:8080

tomcat运行成功

2.2.5 配置启动脚本


catalina.sh 脚本可以直接作为服务来使用, 我们做一个了链接即可

cd /etc/init.d
sudo ln -s /opt/apache-tomcat/catalina.sh ./tomcat8
   
   
  • 1
  • 2
  • 1
  • 2

<code>catalina.sh</code> 脚本可以直接作为服务来使用

当然我们也可以自己做一个

#!/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
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84

那么启动 tomcat8

service tomcat8 start

OR

etc/init.d/tomcat8 start
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

停止 tomcat8

service tomcat8 stop

OR

etc/init.d/tomcat8 stop
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

启动和关闭服务

启动和关闭服务

2.2.6 高级配置之jsvc启动


sudo apt-get install jsvc
   
   
  • 1
  • 1

或者直接用tomcat自带的源码包进行编译

tar -zxvf commons-daemon-native.tar.gz
cd commons-daemon-1.0.15-native-src/unix
./configure  --with-java=$JAVA_HOME
make
   
   
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

编译jsvc

更加详细的信息, 请参见

Tomcat 学习笔记(2) - 使用 jsvc 启动tomcat

Linux下两种自动启动Tomcat的方法(转)

知识共享许可协议 

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处. 谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值