CentOS中安装Tomcat9

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a497785609/article/details/82995582

安装Tomcat之前,需要先安装JDK,安装JDK请参考:CentOS中安装JDK环境

1.下载安装包

官网下载地址:https://tomcat.apache.org/download-90.cgi

# cd /usr/local/
# mkdir tomcat/
# cd tomcat/
# wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12.tar.gz

以上操作就将tomcat9安装包文件下载到/usr/local/tomcat目录下了

2.安装tomcat9
# cd /usr/local/tomcat
# tar -zxvf apache-tomcat-9.0.12.tar.gz
安装包会被解压到/usr/local/tomcat/apache-tomcat-9.0.12,将目录重命名为tomcat9
# mv /usr/local/tomcat/apache-tomcat-9.0.12 /usr/local/tomcat/tomcat9
 

3.配置自启动
切换至Tomcat的bin目录执行vi setenv.sh,并按i进入编辑模式,拷贝以下代码粘贴:
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
之后按esc键,再按shift加":"(左下角出现会出现":")切换到命令模式,然后输入wq保存退出,最后执行 chmod x setenv.sh,确保文件setenv.sh可执行。


4.配置service,开机启动
cd /usr/lib/systemd/system 切换至目录
# vi tomcat.service (也可以直接vi /usr/lib/systemd/system/tomcat.service
拷贝以下代码粘贴(注意将第6和7行的Tomcat路径/usr/local/apache-tomcat-9.0.0.M18 换成你自己的Tomcat的绝对路径)

[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat9/tomcat.pid
ExecStart=/usr/local/tomcat/tomcat9/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

之后按esc键,再按shift加":"(左下角出现会出现":")切换到命令模式,然后输入wq保存退出。执行以下指令将tomcat.service添加开机至开机启动
//配置开机启动 
systemctl enable tomcat
//启动tomcat
systemctl start tomcat
//停止tomcat
systemctl stop tomcat
//重启tomcat
systemctl restart tomcat
当然启动和结束tomcat也可以到tomcat的安装目录的bin目录下执行shutdown.sh  startup.sh来完成。
配置完成,建议重启服务器,即输入命令 reboot(或者sudo reboot)即可 。

5.验证安装是否成功
在服务器上输入 http://localhost:8080/
如果看到小猫咪,就表示安装成功了,否则请检查以上所有步骤是否全都执行正确了。

6.配置tomcat被外部访问
在linux上开启的tomcat使用浏览器访问不了。主要原因在于防火墙的存在,导致的端口无法访问。
CentOS7使用firewall而不是iptables。所以解决这类问题可以通过添加firewall的端口,使其对我们需要用的端口开放。
(1)使用命令firewall-cmd --state 查看防火墙状态。得到结果是running或者not running
(2)在running 状态下,向firewall 添加需要开放的端口,命令为:firewall-cmd --permanent --zone=public --add-port=8080/tcp //永久的添加该端口。去掉--permanent则表示临时。
(3)firewall-cmd --reload //加载配置,使得修改有效。
(4)使用命令firewall-cmd --permanent --zone=public --list-ports //查看开启的端口,出现8080/tcp这开启正确

7.外部访问测试
再次使用外部浏览器访问,这出现tomcat的欢迎界面。
补充(CentOS7以下有专门的防火墙操作命令):
开启防火墙:systemctl start firewalld.service
关闭防火墙:systemctl stop firewalld.service
开机自动启动:systemctl enable firewalld.service
关闭开机启动:systemctl disable firewalld.service
查看防火墙状态:systemctl status firewalld

猜你喜欢

转载自blog.csdn.net/a497785609/article/details/82995582