Java教程

Linux 11 安装Tomcat

本文主要是介绍Linux 11 安装Tomcat,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

参考源

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 服务。

这篇关于Linux 11 安装Tomcat的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!