在 CentOS 7 中部署 Tomcat 8
标签(空格分隔): CentOS Linux Tomcat
参考资料
vi命令 -
CentOS下安装JDK的三种方法 - linux 公社
rpm命令 -
linux tar 命令 解压文件到指定目录 - CSDN
Ubunt安装和配置Tomcat8服务 - linux 公社
在CentOS7上使用systemctl配置tomcat - cnblogs
CentOS 7 中配置通过 daemon 模式启动的 Tomcat 8 服务 - cnblogs
CentOS7无法访问tomcat问题解决 -
原料
jdk-8u161-linux-x64.rpm
apache-tomcat-8.5.27.tar.gz
上传 Tomcat 和 JDK
使用 xftp 在 opt 中创建一个 文件夹 installer
上传2个文件apache-tomcat-8.5.27.tar.gz
jdk-8u161-linux-x64.rpm
image.png
使用 rpm 安装 JDK
cd /opt/installer
rpm -ih jdk-8u161-linux-x64.rpm
java -verison
image.png
常见问题
Could not create the Java Virtual Machine
问题现象:
image.png
处理方法:
java -help
java -verison
使用 tar 解压 tomcat
解压 tar.gz 到 /opt/ 目录下
tar zxf apache-tomcat-8.5.27.tar.gz -C ../
cd ../
image.png
配置 tomcat 为服务
由于我们使用的是CentOS7,因此,采用 systemctl
的方式配置 tomcat。
配置环境变量
vi /etc/profile.d/tomcat.sh
tomcat.sh 中的内容
export JAVA_HOME=/usr/java/jdk1.8.0_161
export CLASS_PATH=.:$JAVA_HOME/lib
export CATALINA_HOME=/opt/apache-tomcat-8.5.27
export CATALINA_BASE=/opt/apache-tomcat-8.5.27
export PATH=$PATH:$JAVA_HOME/bin:$CATLINA_HOME:/bin
使用source使环境变量立即生效
source /etc/profile
添加启动配置 setenv.sh 文件
vi /opt/apache-tomcat-8.5.27/bin/setenv.sh
setenv.sh 中的内容
# add tomcat pid
CATALINA_PID="$CATALINA_BASE/bin/tomcat.pid"
# add JAVA_HOME
JAVA_HOME=/usr/java/default
# add JAVA_OPTS
JAVA_OPTS="-server -Xms256M -Xmx512M -XX:MaxNewSize=256m"
修改文件权限变为可执行
chmod a+x /opt/apache-tomcat-8.5.27/bin/setenv.sh
配置 Tomcat 8 为 systemctl 服务,创建文件 tomcat.service
vi /usr/lib/systemd/system/tomcat.service
tomcat.service 中的内容
[Unit]
Description=Apache Tomcat 8
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/opt/apache-tomcat-8.5.27/bin//tomcat.pid
ExecStart=/opt/apache-tomcat-8.5.27/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动 tomcat 服务
# 设置tomcat为服务
systemctl enable tomcat.service
# 启动tomcat服务
systemctl start tomcat.service
# 查看tomcat服务状态
systemctl status tomcat.service
image.png
防火墙开放 tomcat 服务端口
tomcat 服务启动以后,局域网无法访问,原因是默认的8080端口没有开放
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
image.png
记得保存系统快照哦
image.png