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
# 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