凌峰创科服务平台

Linux Tomcat服务器配置步骤有哪些?

Linux Tomcat服务器配置全攻略(从零到生产环境部署,超详细图文教程)

** 还在为Linux下部署Tomcat烦恼?本文手把手教你从环境准备到性能优化,一篇搞定所有配置难题,附常见问题解决方案!

Linux Tomcat服务器配置步骤有哪些?-图1
(图片来源网络,侵删)

导语

对于Java开发者或运维工程师而言,在Linux操作系统上配置Tomcat服务器是一项核心且必备的技能,无论是开发测试环境搭建,还是生产环境的部署,一个稳定、高效、安全的Tomcat服务器都至关重要,本文将以最流行的CentOS系统为例,为您提供一份从零开始的、保姆级的Linux Tomcat服务器配置指南,内容涵盖环境准备、安装部署、目录结构解析、核心配置文件修改、服务管理、安全加固以及性能优化等全流程,确保您能够轻松掌握,并应用到实际工作中。


环境准备:万事开头“软”功夫

在开始安装Tomcat之前,确保我们的Linux环境已经准备就绪,这里我们以 CentOS 7.x 为例,其他如Ubuntu等发行版命令略有不同,但逻辑相通。

更新系统包管理器 确保系统软件包是最新的,这是一个良好的运维习惯。

sudo yum update -y

安装必要工具 我们需要使用 wget 下载Tomcat安装包,使用 java 来运行Tomcat。

Linux Tomcat服务器配置步骤有哪些?-图2
(图片来源网络,侵删)
# 安装wget
sudo yum install wget -y
# 安装JDK (以OpenJDK 11为例,请根据项目需求选择版本)
sudo yum install java-11-openjdk-devel -y
# 验证Java安装
java -version

关键点: Tomcat的版本必须与JDK的版本兼容,Tomcat 10+推荐使用JDK 8/11/14+,请务必查阅Tomcat官方文档确认。


Tomcat安装部署:解压即用,简单高效

Tomcat是纯Java应用,无需复杂的编译安装,下载解压即可运行。

下载Tomcat 访问Tomcat官方下载页面:https://tomcat.apache.org/download-90.cgi 我们选择最新的 Core 版本,apache-tomcat-9.0.82.tar.gz

使用 wget 命令下载:

Linux Tomcat服务器配置步骤有哪些?-图3
(图片来源网络,侵删)
# 建议将安装包放在 /usr/local/src 目录下
cd /usr/local/src
# 下载Tomcat 9.0.82
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.82/bin/apache-tomcat-9.0.82.tar.gz

解压并移动到安装目录

# 解压
tar -zxvf apache-tomcat-9.0.82.tar.gz
# 创建一个通用的tomcat目录
sudo mkdir -p /opt/tomcat
# 将解压后的文件夹移动到 /opt/tomcat/ 并重命名为9.0.82
sudo mv apache-tomcat-9.0.82 /opt/tomcat/9.0.82
# 为了方便管理,创建一个软链接,指向最新版本
sudo ln -s /opt/tomcat/9.0.82 /opt/tomcat/latest
# 授权给当前用户(避免使用root运行,提升安全性)
sudo chown -R $USER:$USER /opt/tomcat

配置环境变量(可选但推荐) 为了在任何目录下都能方便地使用Tomcat的命令,可以将其 bin 目录加入 PATH

# 编辑 .bashrc 文件
vim ~/.bashrc
# 在文件末尾添加以下内容
export CATALINA_HOME=/opt/tomcat/latest
export PATH=$PATH:$CATALINA_HOME/bin
# 保存并退出,然后使配置生效
source ~/.bashrc

目录结构解析:知己知彼,百战不殆

了解Tomcat的目录结构,是后续配置和排错的基础。 进入 /opt/tomcat/latest 目录,你会看到以下主要文件夹:

  • bin/: 存放启动 (startup.sh)、停止 (shutdown.sh) 等脚本文件,包含 catalina.sh (核心脚本)、setclasspath.sh (设置类路径) 等。
  • conf/: 核心配置目录,最重要的 server.xml 就在这里,此外还有 web.xml (全局部署描述符)、tomcat-users.xml (用户权限) 等。
  • lib/: 存放Tomcat服务器以及所有Web应用程序都可以访问的共享库(.jar文件)。
  • logs/: 日志文件目录。catalina.out 是最关键的日志,记录了Tomcat的所有控制台输出。
  • temp/: Tomcat运行时产生的临时文件。
  • webapps/: Web应用程序部署目录,你所有的Java Web项目(.war包)都可以直接扔到这里,Tomcat会自动部署。
  • work/: Tomcat将JSP文件编译为Servlet时生成的工作目录,清理此目录可以解决一些JSP页面不更新的问题。

核心配置文件修改:打造你的专属服务器

启动并测试Tomcat 在一切配置之前,先让它跑起来看看。

# 进入Tomcat的bin目录
cd /opt/tomcat/latest/bin
# 启动Tomcat
./startup.sh
# 检查进程是否启动
ps -ef | grep java
# 查看日志,确认启动成功
tail -f ../logs/catalina.out

如果看到 Server startup in xxx ms 等信息,说明启动成功。

打开浏览器,访问 http://你的服务器IP:8080,如果能看到Tomcat的欢迎页面,恭喜你,基础部署已经完成!

修改默认端口(server.xml 默认的8080端口在很多场景下不合适,我们需要修改为80(HTTP)或443(HTTPS)等。

# 编辑核心配置文件
vim /opt/tomcat/latest/conf/server.xml

找到 <Connector> 标签,修改 port 属性,修改为80端口:

<!-- 注释掉默认的8080端口连接器 -->
<!-- <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" /> -->
<!-- 新增一个80端口的连接器 -->
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

注意: 修改为80端口后,需要确保服务器防火墙已开放80端口,并且没有其他服务(如Apache、Nginx)占用80端口。

配置虚拟主机 一台服务器可以运行多个网站,通过虚拟主机实现,修改 server.xml,在 <Engine> 标签内添加 <Host>

<Engine name="Catalina" defaultHost="localhost">
    ...
    <!-- 默认的localhost主机 -->
    <Host name="localhost"  appBase="webapps"
          unpackWARs="true" autoDeploy="true">
    </Host>
    <!-- 新增一个虚拟主机,域名为 www.myapp.com -->
    <Host name="www.myapp.com" appBase="/opt/myapp"
          unpackWARs="true" autoDeploy="true">
      <!-- 配置访问日志 -->
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
             prefix="www_myapp_access_log." suffix=".txt"
             pattern="common" resolveHosts="false"/>
    </Host>
</Engine>

之后,你需要将域名 www.myapp.com 解析到你的服务器IP,并将你的Web应用(例如ROOT.war)放到 /opt/myapp 目录下。


服务管理与安全加固:让服务器更专业

创建Tomcat服务 为了方便管理(开机自启、启停等),我们为Tomcat创建一个系统服务。

# 创建服务文件
sudo vim /etc/systemd/system/tomcat.service
```根据你的实际安装路径修改 `User`, `Group`, `CATALINA_HOME`):
```ini
[Unit]
Description=Apache Tomcat 9 Web Application Container
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.x.x.x-amd64"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment
分享:
扫描分享到社交APP
上一篇
下一篇