背景

CentOS7 安装 tomcat,记录一下。

安装 OpenJDK

Tomcat 8.5需要Java SE 7或更高版本。在本教程中,我们将安装OpenJDK 8 ,这是Java平台的开源实现,它是CentOS 7中的默认Java开发和运行时。

查看是否安装过

  [plaintext]
1
# rpm -qa | grep jdk

或者

  [plaintext]
1
# rpm -qa | grep openjdk

有,不满意则卸载

  [plaintext]
1
# rpm -e --nodeps jdk-xxx -nodeps 是强制卸载

命令安装

安装简单直接:

  [plaintext]
1
sudo yum install java-1.8.0-openjdk-devel

版本查看

  [plaintext]
1
2
3
4
# java -version openjdk version "1.8.0_302" OpenJDK Runtime Environment (build 1.8.0_302-b08) OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)

端口开放

云服务器的端口 8080 默认是不开放的。

安装 tomcat8

下载

可以从官网 https://tomcat.apache.org/download-80.cgi?Preferred=https%3A%2F%2Fapache.claz.org%2F 查看

选择最上面的 Binary Distributions > Core > tar.gz

  [plaintext]
1
# wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.83/bin/apache-tomcat-8.5.83.tar.gz

解压

  [plaintext]
1
tar -zxvf apache-tomcat-8.5.70.tar.gz

启动

进入 bin 目录

  [plaintext]
1
2
3
4
5
# cd apache-tomcat-8.5.70/bin/ # ls bootstrap.jar catalina.sh ciphers.bat commons-daemon.jar configtest.bat daemon.sh digest.sh setclasspath.sh shutdown.sh startup.sh tomcat-native.tar.gz tool-wrapper.sh version.sh catalina.bat catalina-tasks.xml ciphers.sh commons-daemon-native.tar.gz configtest.sh digest.bat setclasspath.bat shutdown.bat startup.bat tomcat-juli.jar tool-wrapper.bat version.bat
  • 启动
  [plaintext]
1
./startup.sh
  • 停止
  [plaintext]
1
./shutdown.sh

启动报错

  [plaintext]
1
2
22-Oct-2022 21:17:32.622 SEVERE [main] org.apache.catalina.core.StandardServer.await Failed to create server shutdown socket on address [localhost] and port [8005] (base port [8005] and offset [0]) java.net.BindException: Address already in use (Bind failed)

8005 这个端口被占用。

解决:

(1)查看占用线程

  [plaintext]
1
lsof -i:8005

查看运行状态

  [plaintext]
1
ps aux | grep tomcat

或者

  [plaintext]
1
ps -ef | grep tomcat

开放防火墙端口

  • 开放端口
  [plaintext]
1
2
firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --zone=public --add-port=80/tcp --permanent
  • 使配置生效
  [plaintext]
1
firewall-cmd --reload
  • 查看开放结果
  [plaintext]
1
firewall-cmd --zone=public --query-port=8080/tcp

返回 yes, 说明成功。

ps: 如果想通过 80 端口访问,可以开放一下 80 端口。

  [plaintext]
1
2
3
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload firewall-cmd --zone=public --query-port=80/tcp

centos7 yum 安装 tomcat笔记

安装

(1)命令

  [plaintext]
1
$ yum -y install tomcat

(2)查询 tomcat 是否安装成功

  [plaintext]
1
$ rpm -q tomcat

(3)信息查看

  [plaintext]
1
$ yum info tomcat

升级

想把 tomcat 升级到 8.5.X

tomcat 版本说明

服务启动

(1)启动

  [plaintext]
1
$ systemctl start tomcat.service

(2)状态查看

  [plaintext]
1
$ systemctl status tomcat.service

或者

  [plaintext]
1
$ systemctl status tomcat

最重要的Tomcat的文件将位于 /usr/share/tomcat

如果你已经有了,你想运行一个Tomcat应用程序,你可以将它放在 /usr/share/tomcat/webapps 的目录,配置Tomcat,并重新启动Tomcat服务。

其他常见命令

(1)tomcat 启动

  [plaintext]
1
sudo systemctl start tomcat

(2)tomcat 重启

  [plaintext]
1
sudo systemctl restart tomcat

(3)开机重启

  [plaintext]
1
sudo systemctl enable tomcat

(4)服务停止

  [plaintext]
1
sudo systemctl stop tomcat

(5)服务删除

  [plaintext]
1
yum remove tomcat

页面访问

现在Tomcat已经启动并运行,让我们在Web浏览器中访问Web管理界面。您可以通过访问服务器的公共IP地址,在端口8080上:

  [plaintext]
1
http://server_IP_address:8080

管理页面:

  [plaintext]
1
http:// server_IP_address :8080/manager/html

页面无法访问

可能会出现页面无法访问的情况。

(1)缺少管理界面

因为前面安装的是 tomcat 的基础服务,并没有安装浏览器管理界面,接下来我们需要安装管理包

(2)防火墙问题

执行命令 firewall-cmd --zone=public --add-port=8080/tcp --permanent 永久开放8080端口,否则会导致无法访问

开放8080后执行 systemctl restart firewalld.service 重启防火墙

(3)云服务器本身问题

个人使用的某云服务器测试,发现没有 Firewall,服务也不通。

后来发现在服务器控台-防火墙中可以配置。 T_T

安装管理包

安装Tomcat根页面(tomcat-webapps)和Tomcat Web应用程序管理器和Virtual Host Manager(tomcat-admin-webapps),请运行以下命令:

  [plaintext]
1
$ sudo yum install tomcat-webapps tomcat-admin-webapps

会安装如下的内容到 /usr/share/tomcat/webapps 文件夹下:

  [plaintext]
1
examples host-manager manager ROOT sample

重启服务:

  [plaintext]
1
$ sudo systemctl restart tomcat

scp 卡住问题

现象

scp大文件时速度为0.0KB/s,且出现stalled:

  [plaintext]
1
2
scp ROOT.zip root@xxx:/app/ROOT.zip ROOT.zip 44% 2064KB 0.0KB/s - stalled -

尝试解决

-l 8192

尝试限制速度,失败

  [plaintext]
1
scp -l 8192 xxxxxx

发现不行,依然越来越来,然后变成 0。

-C

尝试提速,降低stalled的概率,成功

  [plaintext]
1
scp -C xxxxxxx

参考资料

Cenos7安装jdk,tomcat,mysql5.7 零碎笔记

如何在CentOS 7上安装Tomcat 8.5

centos7 yum 安装 tomcat

https://blog.csdn.net/github_38336924/article/details/82253553

scp大文件出现stalled

tomcat9

Tomcat9新特性及升级注意事项

CENTOS7 YUM安装TOMCAT9[亲测可用]

https://blog.csdn.net/KeithQin/article/details/123631488

Linux 查看端口占用情况