参考源
https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0
版本
本文章基于 CentOS 7.6
这里使用解压缩方式安装 Tomcat
这里的解压缩方式与 Windows 的解压缩方式是一个概念,都是将文件解压到指定文件夹然后运行。
这种方式相比 rpm
方式要繁琐一点,因为有解压缩这一步骤,但对系统的侵入性是最低的,因此一般也称为绿色安装。
这里使用安装 Tomcat 作为示例。
1、官网下载:https://tomcat.apache.org/
2、这里选择 Tomcat 9 进行下载。
1、将文件放到 /usr/home/sail/
下。
[root@sail ~]# cd /home/sail [root@sail sail]# ls apache-tomcat-9.0.55.tar.gz jdk-8u301-linux-x64.rpm
2、解压文件
[root@sail sail]# tar -zxvf apache-tomcat-9.0.55.tar.gz
解压后,可以看到 /usr/home/sail/ 下多了一个 tomcat 的文件夹。
3、查看文件
[root@sail sail]# ls apache-tomcat-9.0.55 apache-tomcat-9.0.55.tar.gz jdk-8u301-linux-x64.rpm
1、进入 bin
目录,和我们以前在 Windows 下看到的是一样的。
[root@sail apache-tomcat-9.0.55]# ls bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
2、运行 tomcat
在 Windows 下运行 Tomcat 使用 startup.bat 文件,Linux 则使用 startup.sh 文件运行。
[root@sail bin]# ./startup.sh Using CATALINA_BASE: /home/sail/apache-tomcat-9.0.55 Using CATALINA_HOME: /home/sail/apache-tomcat-9.0.55 Using CATALINA_TMPDIR: /home/sail/apache-tomcat-9.0.55/temp Using JRE_HOME: /usr/java/jdk1.8.0_301-amd64 Using CLASSPATH: /home/sail/apache-tomcat-9.0.55/bin/bootstrap.jar:/home/sail/apache-tomcat-9.0.55/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.
关闭 Tomcat 使用 shutdown.sh 文件。
[root@sail bin]# ./shutdown.sh Using CATALINA_BASE: /home/sail/apache-tomcat-9.0.55 Using CATALINA_HOME: /home/sail/apache-tomcat-9.0.55 Using CATALINA_TMPDIR: /home/sail/apache-tomcat-9.0.55/temp Using JRE_HOME: /usr/java/jdk1.8.0_301-amd64 Using CLASSPATH: /home/sail/apache-tomcat-9.0.55/bin/bootstrap.jar:/home/sail/apache-tomcat-9.0.55/bin/tomcat-juli.jar Using CATALINA_OPTS:
rm -rf /home/sail/apache-tomcat-9.0.55 [root@sail sail]# ls apache-tomcat-9.0.55.tar.gz jdk-8u301-linux-x64.rpm
这样,Tomcat 就卸载完成了。
systemctl status firewalld
Tomcat 启动后,并不一定直接就能通过网页访问,还需要确认防火墙和安全组(针对云服务器)是否开启。
查看 firewall 服务状态。
[root@sail etc]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2021-11-21 21:28:35 CST; 2 months 0 days ago Docs: man:firewalld(1) Main PID: 5890 (firewalld) Tasks: 2 Memory: 3.2M CGroup: /system.slice/firewalld.service └─5890 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid Jan 07 16:36:25 sail firewalld[5890]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER-ISOLATION-STAGE-2 -o br-619a5845a105 -j DROP' failed: iptables: Bad rule (does a match...n that chain?). Jan 07 16:36:26 sail firewalld[5890]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destination 172.18.0.2:5000 ! -i br-619a5845a105'...h by that name. Jan 07 16:36:26 sail firewalld[5890]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i br-619a5845a105 -o br-619a5845a105 -p tcp -d 172.18.0.2 --dport 5000 -j ACCEPT' f...n that chain?). Jan 07 16:36:26 sail firewalld[5890]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 172.18.0.2 -d 172.18.0.2 --dport 5000 -j MASQUERADE' failed: iptables: No ...h by that name. Jan 07 17:09:05 sail firewalld[5890]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destination 172.18.0.2:5000 ! -i br-619a5845a105'...h by that name. Jan 07 17:09:05 sail firewalld[5890]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i br-619a5845a105 -o br-619a5845a105 -p tcp -d 172.18.0.2 --dport 5000 -j ACCEPT' f...n that chain?). Jan 07 17:09:05 sail firewalld[5890]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 172.18.0.2 -d 172.18.0.2 --dport 5000 -j MASQUERADE' failed: iptables: No ...h by that name. Jan 07 17:23:35 sail firewalld[5890]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destination 172.18.0.3:5000 ! -i br-619a5845a105'...h by that name. Jan 07 17:23:35 sail firewalld[5890]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i br-619a5845a105 -o br-619a5845a105 -p tcp -d 172.18.0.3 --dport 5000 -j ACCEPT' f...n that chain?). Jan 07 17:23:35 sail firewalld[5890]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 172.18.0.3 -d 172.18.0.3 --dport 5000 -j MASQUERADE' failed: iptables: No ...h by that name. Hint: Some lines were ellipsized, use -l to show in full.
service firewalld start
以上表示没有开启防火墙,需要先开启防火墙。
[root@sail bin]# service firewalld start Redirecting to /bin/systemctl start firewalld.service
开启后再次查看状态可以看到为激活状态。
service firewalld stop
[root@sail bin]# service firewalld stop Redirecting to /bin/systemctl stop firewalld.service
service firewalld restart
[root@sail bin]# service firewalld restart Redirecting to /bin/systemctl restart firewalld.service
不管防火墙是关闭还是开启状态,都可以使用该命令重启。
确认防火墙开启后,还需要确定 Tomcat 对应的端口是否开启(Tomcat 默认 8080 端口)。
firewall-cmd --list-all
[root@sail bin]# firewall-cmd --list-all public target: default icmp-block-inversion: no interfaces: sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
如果仅仅是查看端口是可以不用查看全部信息的,用如下命令查看即可。
[root@sail bin]# firewall-cmd --list-ports
由此可以看出,防火墙是没有开启任何端口的。
开启 Tomcat 对应的端口。
[root@sail bin]# firewall-cmd --zone=public --add-port=8080/tcp --permanent success
参数:
--zone
:作用域--add-port=8080/tcp
:添加端口,格式为:端口/通讯协议--permanent
:永久生效,没有此参数重启后失效开启端口后,需要重启防火墙。
[root@sail ~]# systemctl restart firewalld.service
重启后再次查看防火墙端口信息
[root@sail ~]# firewall-cmd --list-ports 8080/tcp
可以看到 8080 端口已开启。
确保 Linux 的防火墙端口是开启的,如果用的是阿里云的云服务器,还需要保证阿里云的安全组策略是开放的。
在浏览器输入服务器地址加端口号即可访问 Tomcat 服务。