CentOS7安装tomcat
1、官网下载安装包
这里选择适合Linux的安装包,下载到本地后上传到centos服务器,或者直接通过wget命令下载
1
2
3
4
|
# cd /usr/local/ # mkdir tomcat/ # cd tomcat/ # wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-9/v9.0.0.M11/bin/apache-tomcat-9.0.0.M11.tar.gz |
以上操作就将tomcat9安装包文件apache-tomcat-9.0.0.M11.tar.gz下载到/usr/local/tomcat目录下了
如果上传的话使用ssh工具,需要安装rz,sz 命令为:yum install lrzsz
2、安装tomcat9
1
2
|
# cd /usr/local/tomcat # tar -zxvf apache-tomcat-9.0.0.M11.tar.gz |
安装包会被解压到/usr/local/tomcat/apache-tomcat-9.0.0.M11,将目录重命名为tomcat9
1 |
# mv /usr/local/tomcat/apache-tomcat-9.0.0.M11 /usr/local/tomcat/tomcat9 |
3、配置tomcat9开机启动
在/usr/lib/systemd/system目录下增加tomcat9.service文件,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[Unit] Description=Tomcat After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=oneshot ExecStart= /usr/local/tomcat/tomcat9/bin/startup .sh
ExecStop= /usr/local/tomcat/tomcat9/bin/shutdown .sh
ExecReload= /bin/kill -s HUP $MAINPID
RemainAfterExit= yes
[Install] WantedBy=multi-user.target |
退出并保存,执行systemctl enable tomcat使tomcat9随开机启动
1 |
#systemctl enable tomcat9.service |
另外命令
systemctl start tomcat9.service 启动tomcat
systemctl stop tomcat9.service 关闭tomcat
systemctl restart tomcat9.service 重启tomcat
当然启动和结束tomcat也可以到tomcat的安装目录的bin目录下执行shutdown.sh startup.sh来完成
4、验证安装是否成功
输入 http://服务器IP:8080/
如果能出现熟悉的tomcat主页,就表示安装成功了,请确保服务器8080端口已经放开
5.CentOS7上解决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则表示临时。
4.firewall-cmd --reload //加载配置,使得修改有效。
5.使用命令 firewall-cmd --permanent --zone=public --list-ports //查看开启的端口,出现8080/tcp这开启正确
6.再次使用外部浏览器访问,这出现tomcat的欢迎界面。
补充(CentOS7以下有专门的防火墙操作命令):
开启防火墙的命令
systemctl start firewalld.service
关闭防火墙的命令
systemctl stop firewalld.service
开机自动启动
systemctl enable firewalld.service
关闭开机自动启动
systemctl disable firewalld.service
查看防火墙状态
systemctl status firewalld下列显示表示没有问题。