在阿里云ECS(centos)中安装Tomcat(笔记📒)
准备:
- 关闭服务器的防火墙
systemctl stop firewalld
- 阿里云ECS安全组中开放Tomcat默认端口8080
- 详细配置,点这里,或这里
- 下载Tomcat官网地址:传送门。
- 需要先安装jdk
- (在阿里云ECS中不需要提前下载安装包,直接使用命令进行下载安装)
下载
使用wget下载压缩包(下载到/home/temp
)
1 |
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.39/bin/apache-tomcat-9.0.39.tar.gz |
解压到当前文件夹(所以先进入要放Tomcat的文件夹,再使用解压命令。我这里是解压到/home/temp
)
1 |
tar -zxvf /home/temp/apache-tomcat-9.0.39.tar.gz |
启动
进入bin目录执行./startup.sh
启动服务,执行./shutdown.sh
关闭服务。
启动Tomcat服务:(看到Tomcat started,说明启动成功)
1 |
[root@ali_server bin]# ./startup.sh |
Tomcat服务,使用的默认端口是8080。我在服务器上开启Tomcat服务后,使用本地浏览器可以打开默认的Tomcat页面。http://qsdbl.site:8080
。(注意是HTTP)
配置ssl
参考资料:
- CentOS系统Tomcat 8.5或9部署SSL证书。
- 视频指导:SSL数字证书Tomcat配置部署指导。
- (视频中的配置不适用于Tomcat9,配置应该参考前边的PFX证书文章)
注意:阿里云ECS要放行相应的端口(我这里使用8443端口,因为Apache服务使用了443端口)。

下载证书
证书我是在阿里购买的免费证书,在证书服务管理控制台中下载Tamcat使用的数字证书,然后配置到Tomcat 服务器中。下载证书:传送门
- 登录 证书服务管理控制台。
- 在我的证书订单页面,选择已签发的数字证书,单击 下载。
- 选择 Tomcat,单击 下载证书for Tomcat。
- 参考证书下载页面的配置指导,将数字证书部署到 Tomcat 服务器。
配置
对conf
文件夹下的server.xml
文件进行如下配置。
添加配置一:
我已经有Apache服务使用443端口了,所以这里我还是使用了默认的8443端口。
1 |
<Connector port="443" #将Tomcat中默认的HTTPS端口Connector port 8443修改为443。8443端口不可通过域名直接访问、需要在域名后加上端口号;443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。 |
配置二:
1 |
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> #将redirectPort修改为443,让HTTPS请求转发到443端口。 |
配置好之后重启Tomcat服务,使用https://域名:8443
服务Tomcat服务器,测试是否配置成功。
要实现HTTP自动跳转为HTTPS,见前边的参考资料。
问题
记录在使用Tomcat时踩过的坑。具体错误可以到logs文件夹内查看日志信息。
重启失败
问题描述:使用./shutdown.sh 与 ./startup.sh
命令重启Tomcat失败。运行shutdown.sh命令关闭Tomcat时出现错误提示,提示Tomcat可能未启动。
1 |
... AM org.apache.catalina.startup.Catalina stopServer |
解决方法:参考这篇博客。也有可能是配置不正确,具体错误可以到logs文件夹内查看日志信息。
可能是因为tomcat内存太小了,需要给tomcat增加虚拟内存。
修改bin/catalina.sh文件(vim catalina.sh
),在这两行之行插入一行
1 |
# OS specific support. $var _must_ be set to either true or false. |
最终修改为以下这样:
1 |
# OS specific support. $var _must_ be set to either true or false. |
保存,重启tomcat即可。
扩展
结束进程
结束Tomcat进程。
使用下边命令查看tomcat是否在运行同时查看进程pid(即打印出的进程信息的第一串数字):
1 |
> ps -ef | grep tomcat |
结束Tomcat进程:
1 |
> kill 2993 |
查看日志
查看日志,Tomcat根目录下的logs
文件夹内。