服务器上 tomcat 的安装和配置

一、前提

服务器需要开放端口访问权限,外部才能访问到

1. 安全组规则

首先如果你的服务器是云服务提供商的服务器,需要先去管理控制台确认安全组规则的端口开放情况,如阿里 ecs 则可以参考 阿里云服务器开启端口访问权限

2. 防火墙

开放了服务器端口后还需要配置相应的防火墙设置,参考 centOS 防火墙配置


二、下载 tomcat

方式一

下载相对应的 XXX.tar.gz 文件放到服务器目录下,使用命令解压该包即可,如果解压失败, 则检查该包是否损坏(查看包大小大概可以知道)

# tar -vxzf XXX.tar.gz

方式二(推荐)

$ yum install tomcat

查看安装位置(默认 /usr/share/tomcat)

$ whereis tomcat

三、配置 tomcat

1. 默认访问端口号

找到 ${CATALINA_HOME}/conf/server.xml ,找到如下配置

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

默认端口号修改为想要的端口号后保存重启,即可使用域名 + 端口的方式访问管理页面,修改示例如下

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

2. 更改 tomcat 的 java 选项

如果不需要修改默认配置,跳过这一步即可。下面示例添加 JAVA_OPTS 行添加到文件。 改变 Xmx 和 MaxPermSize 值,这些设置会影响 Tomcat 会使用多少内存,可以按需修改

$ sudo vi /usr/share/tomcat/conf/tomcat.conf

JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Xmx512m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC"

:wq

3. 管理包的安装

在你开始使用 tomcat 之前,你很可能想要安装一些管理工具,这些工具将帮助您部署 Java 应用程序和管理虚拟主机。幸运的是,有一些软件包将以 Web 应用程序的方式提供这些工具。下面命令安装默认 Tomcat 根页面(tomcat-webapps)和 Tomcat Web 应用程序管理器和 Virtual Host Manager(tomcat-admin-webapps),这个命令会增加 ROOT,examples,sample,manager和 host-managerWeb 应用到 tomcat/webapps 的目录

$ sudo yum install tomcat-webapps tomcat-admin-webapps 

安装 Tomcat 文档,以便默认 Tomcat 页面上的所有链接都可以运行

$ sudo yum install tomcat-docs-webapp tomcat-javadoc

4. tomcat 管理页面

访问 tomcat 应该会出现如下界面(当然,你当前还没有启动 tomcat)
[image:781A8486-E319-45D1-B8A4-C23B137497E5-1229-000005E2E438E4E3/4A73B3B2-3BC0-48F8-8FE2-570DD39A83BF.png]

这三个按钮分别进入不同的管理页面, 为了使用这些 tomcat 的管理页面,仅上一步进行了安装还不够,仍需要对配置文件进行相应的配置

  1. 修改 tomcat-users.xml
    找到 ${CATALINA_HOME}/conf/tomcat-users.xml ,添加访问管理页面的角色,用户名和密码例如
<role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <user username="admin" password="testpwd" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>

此时如果是本地访问则没有问题, 如果是远程访问就会报 403 错误,所以继续下一步操作

  1. 修改 context.xml
    分别找到 ${CATALINA_HOME}/webapps/manager/META-INF/context.xml , 和 ${CATALINA_HOME}/webapps/host-manager/META-INF/context.xml ,

这个文件的内容是:

<Context antiResourceLocking="false" privileged="true" >
	<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />
</Context>

通过查看官方文档,知道,这段代码的作用是限制来访IP的,127.d+.d+.d+|::1|0:0:0:0:0:0:0:1,是正则表达式,表示IPv4和IPv6的本机环回地址,所以这我们本机可以访问管理界面,但是其他机器则是403错误。如果需要其他机器也访问,则可以设置allow,设置为allow="^.*$" 表示允许任何ip访问;

<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">
	<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

修改完毕,重新启动 tomcat 即可


四、启动和操作 tomcat 的常用命令

启动 tomcat

$ sudo systemctl start tomcat

如果由于某种原因而提前启动服务,请改用以下命令运行restart命令

$ sudo systemctl restart tomcat

如果你希望 tomcat 在每次启动服务器时运行,则需要启用服务

$ sudo systemctl enable tomcat

五、管理页面的访问

现在 tomcat 已经启动并运行,我们可以浏览器中访问Web管理界面: ip + 第三步中配置的默认端口号

1. 主页面

[image:4C185FB3-4362-4D4D-9A9C-031CA19C03DC-1229-0000082A1F8BE1AA/4A73B3B2-3BC0-48F8-8FE2-570DD39A83BF.png]

2. web 应用程序管理器

主页中点击 Manager App 按钮即可进入 Manager App 页面(点击进入时需要输入第三步 ${CATALINA_HOME}/conf/tomcat-users.xml 中配置的用户名和密码),Manager App 用于管理 java 应用程序。在这个页面,你可以开始,停止,重新加载,部署和取消部署 java 程序。你还可以对应用程序运行一些诊断(即查找内存泄漏)。最后,有关你服务器的信息位于这个页面的最下方
[image:C388C06B-28B6-45B5-9A15-CCDBA6F7E9A5-1229-00000865F4F705BF/未知.png]

3. 主机管理页面

主页中点击 Host Manager 按钮即可进入 Host Manager 页面(点击进入时需要输入第三步 ${CATALINA_HOME}/conf/tomcat-users.xml 中配置的用户名和密码),在这个页面中,你可以添加要从中提供应用程序的虚拟主机
[image:2B228E5B-36D2-4543-871B-DC32C1FDB8D4-1229-0000088DDDE72A7C/CA474EE6-3CB0-45B5-941E-F793BB6F32E0.png]


五、相关问题和解决

1. tomcat 管理页面 deploy war 包(部署程序包)失败问题

找到 ${CATALINA_HOME}/webapps/manager/WEB-INF/web.xml ,其中有一段配置如下

<servlet>
    <multipart-config>
      <!-- 50MB max -->
      <max-file-size>52428800</max-file-size>
      <max-request-size>52428800</max-request-size>
      <file-size-threshold>0</file-size-threshold>
    </multipart-config>
  </servlet>

可以看到,这里限制了最大都 50MB 而已,根据自己的需要修改即可,这里的示例就修改为 200MB,即 209715200,修改后,重启 tomcat 服务器,再执行之前的部署操作即可

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值