阿里云ECS(centos)中安装Tomcat

在阿里云ECS(centos)中安装Tomcat(笔记📒)

准备:

  • 关闭服务器的防火墙systemctl stop firewalld
  • 阿里云ECS安全组中开放Tomcat默认端口8080
  • 详细配置,点这里,或这里
  • 下载Tomcat官网地址:传送门
  • 需要先安装jdk
  • (在阿里云ECS中不需要提前下载安装包,直接使用命令进行下载安装)

下载

使用wget下载压缩包(下载到/home/temp

 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

 tar -zxvf /home/temp/apache-tomcat-9.0.39.tar.gz

启动

进入bin目录执行./startup.sh启动服务,执行./shutdown.sh关闭服务。

启动Tomcat服务:(看到Tomcat started,说明启动成功)

[root@ali_server bin]# ./startup.sh
Using CATALINA_BASE:   /home/temp/apache-tomcat-9.0.39
Using CATALINA_HOME:   /home/temp/apache-tomcat-9.0.39
Using CATALINA_TMPDIR: /home/temp/apache-tomcat-9.0.39/temp
Using JRE_HOME:        /home/temp/jdk1.8.0_141/jre
Using CLASSPATH:       /home/temp/apache-tomcat-9.0.39/bin/bootstrap.jar:/home/temp/apache-tomcat-9.0.39/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@ali_server bin]# pwd
/home/temp/apache-tomcat-9.0.39/bin

Tomcat服务,使用的默认端口是8080。我在服务器上开启Tomcat服务后,使用本地浏览器可以打开默认的Tomcat页面。http://qsdbl.site:8080。(注意是HTTP)

配置ssl

参考资料:

注意:阿里云ECS要放行相应的端口(我这里使用8443端口,因为Apache服务使用了443端口)。

下载证书

证书我是在阿里购买的免费证书,在证书服务管理控制台中下载Tamcat使用的数字证书,然后配置到Tomcat 服务器中。下载证书:传送门

  1. 登录 证书服务管理控制台
  2. 在我的证书订单页面,选择已签发的数字证书,单击 下载
  3. 选择 Tomcat,单击 下载证书for Tomcat
  4. 参考证书下载页面的配置指导,将数字证书部署到 Tomcat 服务器。

配置

conf文件夹下的server.xml文件进行如下配置。

添加配置一:

我已经有Apache服务使用443端口了,所以这里我还是使用了默认的8443端口。

<Connector port="443"   #将Tomcat中默认的HTTPS端口Connector port 8443修改为443。8443端口不可通过域名直接访问、需要在域名后加上端口号;443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。
      protocol="org.apache.coyote.http11.Http11NioProtocol"   #server.xml文件中Connector port有两种运行模式(NIO和APR),请选择NIO模式(也就是protocol="org.apache.coyote.http11.Http11NioProtocol")这一段进行配置。
      maxThreads="150"
      SSLEnabled="true">
    <SSLHostConfig>
        <Certificate       certificateKeystoreFile="/usr/local/tomcat/cert/证书域名.pfx"   #此处certificateKeystoreFile代表证书文件的路径,请用您证书的路径+文件名替换证书域名.pfx,例如:certificateKeystoreFile="/usr/local/tomcat/cert/abc.com.pfx"
         certificateKeystorePassword="证书密码"   #此处certificateKeystorePassword为SSL证书的密码,请用您证书密码文件pfx-password.txt中的密码替换,例如:certificateKeystorePassword="bMNML1Df"
         certificateKeystoreType="PKCS12" />   #证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。
    </SSLHostConfig>
</Connector>

配置二:

<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可能未启动。

... AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact localhost:8005. Tomcat may not be running.

解决方法:参考这篇博客。也有可能是配置不正确,具体错误可以到logs文件夹内查看日志信息。

可能是因为tomcat内存太小了,需要给tomcat增加虚拟内存。

修改bin/catalina.sh文件(vim catalina.sh),在这两行之行插入一行

# OS specific support.  $var _must_ be set to either true or false.
cygwin=false

最终修改为以下这样:

# OS specific support.  $var _must_ be set to either true or false.
JAVA_OPTS="-Xms512m -Xmx1024m -Xss2048K -XX:PermSize=256m -XX:MaxPermSize=512m" 
cygwin=false

保存,重启tomcat即可。

扩展

结束进程

结束Tomcat进程。

使用下边命令查看tomcat是否在运行同时查看进程pid(即打印出的进程信息的第一串数字):

> ps -ef | grep tomcat
root      2993     1  0 20:07 pts/1    00:00:04 /usr/l...tomcat
root      3042  2838  0 20:17 pts/1    00:00:00 grep --color=auto tomcat

结束Tomcat进程:

> kill  2993

查看日志

查看日志,Tomcat根目录下的logs文件夹内。

更多关于Tomcat的笔记,访问这里
原文链接:阿里云ECS(centos)中安装Tomcat

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值