一、下载tomcat
下载地址:https://tomcat.apache.org/download-80.cgi
我下载的版本是8.5.24,如图:
二、安装tomcat
使用Xftp将下载好的apache-tomcat-8.5.24.tar.gz 上传到CentOs上去,我这里放到了/home/lisonglin下
移动安装包到/usr/local目录中:mv /home/lisonglin/apache-tomcat-8.5.24.tar.gz /usr/local
切换到/usr/local目录下:cd/usr/local
解压缩包:tar -zxvf apache-tomcat-8.5.24.tar.gz
删除tomcat安装包(可选):rm -rf apache-tomcat-8.5.24.tar.gz
修改文件名(可选):mv apache-tomcat-8.5.24/ tomcat8.5.24
启动tomcat:/usr/local/tomcat8.5.24/bin/startup.sh
出现如上图所示信息,则表示启动成功,在浏览器中输入http://ip:8080,可以看到tomcat系统界面,如果看不到可能就是防火墙将8080端口或者其他端口拦截掉了,我们需要重新开放8080或者其他端口,不建议关闭防火墙。
firewall-cmd --permanent --zone=public --add-port=8080/tcp
执行firewall-cmd --reload使最新的防火墙设置规则生效(可以使用firewall-cmd --list-ports命令查看所有开放的端口)
再次在浏览器中输入http://ip:8080则可以看到tomcat系统界面
停止tomcat的命令是:/usr/local/tomcat8.5.24/bin/shutdown.sh
三、tomcat相关设置
用service来管理tomcat服务器的启动、关闭、重启、开机启动
a. 完成步骤二对tomcat的安装后,接下来就可以部署项目,但是这里存在一个问题,那就是tomcat的启动和停止我们每次都需要接路径并且执行命令,比较麻烦,因此我们可以设置成service的形式来实现这个功能。
b. 执行命令:vim /etc/rc.d/init.d/tomcat ,创建脚本文件,在文件中写入如下代码,保存并且退出:
#!/bin/bash
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
# processname: tomcat
# chkconfig: 2345 86 16
# description: Start up the Tomcat servlet engine.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo -e "\atomcat: unable to locate functions lib. Cannot continue."
exit -1
fi
RETVAL=$?
CATALINA_HOME="/usr/local/tomcat8.5.24/" #tomcat安装目录,你安装在什么目录下就复制什么目录
# start
start(){
echo -n "Starting Tomcat: "
$CATALINA_HOME/bin/startup.sh
echo
}
#stop
stop(){
echo -n "Shutting down Tomcat: "
$CATALINA_HOME/bin/shutdown.sh
}
#restart
restart(){
stop
sleep 3
start
}
#status
status(){
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt
read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
echo -n "tomcat ( pid "
ps ax --width=1000 | grep "org.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}'
echo -n ") is running..."
echo
else
echo "Tomcat is stopped"
fi
}
case "$1" in
start)
start ;;
stop)
stop ;;
restart)
stop
sleep 3
start ;;
status)
status ;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit $RETVAL
c. 给文件添加权限,使得脚本文件可以执行,命令为:chmod 755 /etc/rc.d/init.d/tomcat
d. 将其添加到服务中,命令为:chkconfig --add /etc/rc.d/init.d/tomcat (添加开机自动启动tomcat服务)
chkconfig tomcat on 设置开机启动 chkconfig tomcat off 停止开机启动
e. 然后将下面的配置文件加到tomcat中的catalina.sh文件中的最后面,命令为:vim /usr/local/kencery/tomcat/bin/catalina.sh
添加的配置如下:
export JAVA_HOME=/usr/java/jdk1.8.0_152 #javajdk的安装路径,使用echo $JAVA_HOME命令可
以读取
export CATALINA_HOME=/usr/local/tomcat8.5.24
export CATALINA_BASE=/usr/local/tomcat8.5.24
export CATALINA_TMPDIR=/usr/local/tomcat8.5.24/temp
f. 以上所有工作顺利进行并没有报错,则配置完成,输入下面命令进行验证:
service tomcat start 或 systemctl start tomcat
service tomcat stop 或 systemctl stop tomcat
验证时出现了如下问题(如果没问题的,请跳过):
在前面我已经开放了防火墙8080端口,那可能就是tomcat启动失败了,我们使用命令systemctl status tomcat查看tomcat启动状态
从上面我们可以看到错误提示是:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
解决方法参考:http://blog.csdn.net/qq_32786873/article/details/79317765
用systemctl来管理tomcat服务器的启动、关闭、重启、开机启动
在centos7版本中使用了systemd,systemd同时兼容service,对应的命令就是systemctl 。接下来我们就用systemctl管理Tomcat启动、停止、重启、开机启动。