编译安装tomcat7.0,配置启动管理

1.环境准备

1.1 操作系统

centos7.x(64位)

1.2 部署java环境

这里我用的是JDK1.7版本
jdk1.7下载

将上传好的包解压缩,移动到安装目录

# tar xf jdk-7u67-linux-x64.tar.gz
# mv jdk1.7.0_67/ /usr/local/java
# 添加环境变量
# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH        
export PATH=$PATH:/usr/local/tomcat/bin/

执行脚本,使变量生效

# source  /etc/profile.d/java.sh 
# java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

2. 安装tomcat

点击下载tomcat7.0

# tar xf apache-tomcat-7.0.73.tar.gz
# mv apache-tomcat-7.0.73 /usr/local/tomcat
# cd /usr/local/tomcat/
# ls
bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work

目录构成:
bin: 命令:shutdown.sh 关闭tomcat;startup.sh启动tomcat
lib: java的库 .jar
logs: 日志
temp : 临时文件
work: 运行JSP脚本需要的class文件
conf: 配置文件
webapps: DocumentRoot

3. 启动tomcat :

方法一: 通过默认的启动脚本startup.sh启动,停止(shutdown.sh)

# cd bin/
# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
# netstat -tanp |grep 8080
tcp        0      0 :::8080                     :::*                        LISTEN      2045/java 

方法二: system-V脚本:

  • 在/etc/init.d/目录下创建tomcat服务脚本文件
cat /etc/init.d/tomcat
#! /usr/bin/bash
#
# tomcat startup script for the Tomcat server
#
#
# chkconfig: 345 80 20
# description: start the tomcat deamon
#
# Init file for Tomcat server daemon
JAVA_OPTS='-Xms64m -Xmx128m'
JAVA_HOME=/usr/local/java        # 根据自己的路径改写JAVA_HOME
CATALINA_HOME=/usr/local/tomcat  # 根据自己的路径改写CATALANA_HOME
export JAVA_OPTS JAVA_HOME CATALINA_HOME
exec $CATALINA_HOME/bin/catalina.sh $1

case "$1" in
start)
    echo "Starting Tomcat..."
    $CATALANA_HOME/bin/startup.sh
    ;;

stop)
    echo "Stopping Tomcat..."
    $CATALANA_HOME/bin/shutdown.sh
    ;;

restart)
    echo "Stopping Tomcat..."
    $CATALANA_HOME/bin/shutdown.sh
    sleep 2
    echo
    echo "Starting Tomcat..."
    $CATALANA_HOME/bin/startup.sh
    ;;

*)
    echo "Usage: $prog {start|stop|restart}"
    ;;
esac
exit 0
  • 赋权限,测试启动脚本
# cd /etc/init.d/
chmod 755 tomcat    #赋予权限
service tomcat start  #启动服务
service tomcat stop   #停止服务
service tomcat restart  #重启服务

方法三:systemctl管理Tomcat:

  • 在/lib/systemd/system目录下创建一个脚本文件tomcat:
[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/tomcat/pid
ExecStart=/usr/local/tomcat/bin/catalina.sh start
ExecReload=/usr/local/tomcat/bin/catalina.sh restart
ExecStop=/usr/local/tomcat/bin/catalina.sh stop

[Install]
WantedBy=multi-user.target

[Unit] 表示这是基础信息
Description 是描述
After 是在那个服务后面启动,一般是网络服务启动后启动
[Service] 表示这里是服务信息
Type 是服务类型
PIDFile 是服务的pid文件路径, 开启后,必须在tomcat的bin/catalina.sh中加入CATALINA_PID参数
ExecStart 是启动服务的命令
ExecReload 是重启服务的命令
ExecStop 是停止服务的指令
[Install] 表示这是是安装相关信息
WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

  • 需要在tomcat的bin/catalina.sh中加入CATALINA_PID参数:
CATALINA_PID=/usr/local/tomcat/pid
# OS specific support.  $var _must_ be set to either true or false.
cygwin=false
......
  • 创建软链接

创建软链接是为了下一步系统初始化时自动启动服务

ln -s /lib/systemd/system/tomcat.service /etc/systemd/system/multi-user.target.wants/tomcat.service

查看是否创建成功:

# ll /etc/systemd/system/multi-user.target.wants/
total 8
drwxr-xr-x  2 root root 4096 Mar 30 15:46 ./
drwxr-xr-x 13 root root 4096 Mar 13 14:18 ../
lrwxrwxrwx  1 root root   31 Nov 23 14:43 tomcat.service -> /lib/systemd/system/tomcat.service
...略...
  • 刷新配置

刚刚配置的服务需要让systemctl能识别,就必须刷新配置

# systemctl daemon-reload
# 如果没有权限可以使用sudo
# sudo systemctl daemon-reload
  • 启动、重启、停止

启动tomcat

# systemctl start tomcat

重启tomcat

# systemctl restart tomcat

停止tomcat

# systemctl stop tomcat

猜你喜欢

转载自blog.csdn.net/weixin_45561510/article/details/114256856