参考源
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 服务。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/277219.html