设为首页 收藏本站
查看: 1361|回复: 0

[经验分享] (转)linux下装tomcat

[复制链接]

尚未签到

发表于 2017-11-22 20:08:07 | 显示全部楼层 |阅读模式
  转载于:http://www.iyunv.com/Linux/2016-11/136959.htm (linux社区)

1 tomcat介绍

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

2 安装tomcat


2.1 源方式(不推荐)

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


  • 安装 Tomcat

sudo apt-get install tomcat6
  或者

sudo apt-get install tomcat7
  稍等片刻, Tomcat6 即会被自动安装在 /usr/share/tomcat6 的目录中
  设置 Tomcat 运行的 JAVA 环境
首先请确保 Oracle/Sun 的 Java Development Toolkit 已经安装.
  如果尚未安装,参照Java-Ubuntu中文或者Ubuntu安装JDK详解


  • 启动和停止Tomcat
  要启动Tomcat,运行

sudo /etc/init.d/tomcat6 start
  此时打开浏览器,在地址栏内输入
http://localhost:8080
  要停止Tomcat,运行

sudo /etc/init.d/tomcat6 stop

  • Tomcat 配置文件路径

Tomcat home directory : /usr/share/tomcat6
Tomcat base directory : /var/lib/tomcat6或/etc/tomcat6

  • 设置Tomcat管理员帐号
  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
2.2 下载安装最新版本的Tomcat


2.2.1 官网的tomcat版本

  这种方法绕过 Ubuntu 自身的包管理器, 直接从 Apache Tomcat 的主页上下载并使用 Tomcat 软件, 该方法方便快捷的安装旧版或新测试版 Tomcat 而并不影响系统的稳定性, 轻松自在.
  从 tomcat 的官方下载页面, 目前官网上提供如下几个版本以供下载

版本DocumentationDownload



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
2.2.3 权限问题


  注意
  解压缩完以后发现, 有些目录 cd 没有权限
DSC0000.png

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

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

chmod +x ./*
  同样想要运行bin下的脚本也需要运行权限, 因此

chmod +x ./bin/*.sh

2.2.4 配置和运行

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



脚本描述


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 下作为服务来使用

  • 配置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
  刚开始的时候, 在 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 的话, 说明没有配置没有问题
DSC0003.png



  • 直接运行

sudo ./startup.sh
  等价于

sudo sh catalina.sh start
DSC0004.png



  • 关闭

./shutdown.sh
  等价于

sudo sh catalina.sh stop
  打开http://localhost:8080
DSC0005.png


2.2.5 配置启动脚本

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

cd /etc/init.d
sudo ln -s /opt/apache-tomcat/catalina.sh ./tomcat8
DSC0006.png

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

#!/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
DSC0007.png

DSC0008.png


2.2.6 高级配置之jsvc启动


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
DSC0009.png

  更多Tomcat相关教程见以下内容
  CentOS 6.6下安装配置Tomcat环境  http://www.iyunv.com/Linux/2015-08/122234.htm
  RedHat Linux 5.5安装JDK+Tomcat并部署Java项目  http://www.iyunv.com/Linux/2015-02/113528.htm
  Tomcat权威指南(第二版)(中英高清PDF版+带书签)  http://www.iyunv.com/Linux/2015-02/113062.htm
  Tomcat 安全配置与性能优化 http://www.iyunv.com/Linux/2015-02/113060.htm
  Linux下使用Xshell查看Tomcat实时日志中文乱码解决方案 http://www.iyunv.com/Linux/2015-01/112395.htm
  CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤 http://www.iyunv.com/Linux/2015-01/111485.htm
  CentOS 6.5下安装Tomcat  http://www.iyunv.com/Linux/2015-01/111415.htm
  Tomcat中session的管理机制  http://www.iyunv.com/Linux/2016-09/135072.htm
  Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里
  本文永久更新链接地址:http://www.iyunv.com/Linux/2016-11/136959.htm

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409629-1-1.html 上篇帖子: CentOS6.5配置rsyslog 下篇帖子: Scrapy的安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表