CentOS搭建Tomcat服务器全攻略

发布于:2025-06-29 ⋅ 阅读:(16) ⋅ 点赞:(0)

1. 安装 Java 环境

Tomcat 作为一个 Java Servlet 容器,运行必须依赖 Java 环境。我们推荐安装 OpenJDK,这是 CentOS 官方仓库提供的开源 JDK 实现。

详细安装步骤:

  1. 安装 OpenJDK 11 及其开发工具包

    sudo yum install java-11-openjdk-devel -y
    

  2. 验证 Java 安装是否成功

    java -version
    

    预期输出应包含类似"OpenJDK 11.0.x"的信息。

  3. 检查 JAVA_HOME 环境变量

    echo $JAVA_HOME
    

手动设置 JAVA_HOME 的详细步骤:

  1. 查找 Java 安装路径:

    sudo alternatives --config java
    

    会显示类似这样的信息:/usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64/bin/java

  2. 编辑环境配置文件:

    sudo vim /etc/profile
    

  3. 在文件末尾添加以下内容(路径需根据实际安装位置调整):

    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64
    export PATH=$PATH:$JAVA_HOME/bin
    

  4. 使配置生效:

    source /etc/profile
    

2. 创建 Tomcat 用户

为安全考虑,建议创建专用的非特权用户运行 Tomcat 服务。

# 创建tomcat用户组
sudo groupadd tomcat

# 创建tomcat用户
# -M:不创建家目录(更安全)
# -s /bin/nologin:禁止shell登录(更安全)
# -g tomcat:指定主组为tomcat
# -d /opt/tomcat:指定工作目录
sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat

3. 下载并安装 Tomcat

  1. 进入临时目录:

    cd /tmp
    

  2. 下载最新的 Tomcat 9 版本(推荐从官方镜像站获取):

    wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.78/bin/apache-tomcat-9.0.78.tar.gz
    

  3. (可选)验证下载完整性:

    wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.78/bin/apache-tomcat-9.0.78.tar.gz.sha512
    sha512sum -c apache-tomcat-9.0.78.tar.gz.sha512
    

  4. 解压到安装目录:

    sudo mkdir -p /opt/tomcat
    sudo tar -zxvf apache-tomcat-9.0.78.tar.gz -C /opt/tomcat --strip-components=1
    

  5. 设置目录权限:

    sudo chgrp -R tomcat /opt/tomcat
    sudo chmod -R g+r /opt/tomcat/conf
    sudo chmod g+x /opt/tomcat/conf
    sudo chown -R tomcat /opt/tomcat/webapps/ /opt/tomcat/work/ /opt/tomcat/temp/ /opt/tomcat/logs/
    

4. 创建 systemd 服务文件

使用 systemd 管理 Tomcat 服务可以方便地启动、停止和设置开机自启。

  1. 创建服务文件:

    sudo vim /etc/systemd/system/tomcat.service
    

  2. 添加以下内容(根据实际情况调整参数):

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

# 环境变量设置
Environment=JAVA_HOME=/usr/lib/jvm/jre-11-openjdk
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat

# JVM内存设置(可根据服务器配置调整)
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

# 日志配置(可选)
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=tomcat

[Install]
WantedBy=multi-user.target

5. 启动并设置开机自启

  1. 重载 systemd 配置:

    sudo systemctl daemon-reload
    

  2. 启动 Tomcat 服务:

    sudo systemctl start tomcat
    

  3. 设置开机自启:

    sudo systemctl enable tomcat
    

  4. 查看服务状态:

    sudo systemctl status tomcat
    

  5. 查看日志(用于排查问题):

    sudo journalctl -u tomcat --no-pager -n 50
    

6. 配置防火墙

如果系统启用了防火墙(如 firewalld),需要开放 Tomcat 默认端口。

  1. 查看防火墙状态:

    sudo firewall-cmd --state
    

  2. 开放8080端口(如果防火墙已启用):

    sudo firewall-cmd --permanent --add-port=8080/tcp
    

  3. 重载防火墙配置:

    sudo firewall-cmd --reload
    

  4. 查看开放的端口:

    sudo firewall-cmd --list-all
    

7. 验证安装

在浏览器访问服务器 IP 地址及端口(如:http://your_server_ip:8080),应能看到 Tomcat 默认欢迎页面。

如果看不到页面,可检查以下内容:

  1. Tomcat 是否正常运行:
    sudo systemctl status tomcat
    

  2. 防火墙是否阻止了访问
  3. 服务器是否有安全组限制(如云服务器)

8. 可选配置(管理界面)

8.1 配置管理用户

  1. 编辑用户配置文件:

    sudo vim /opt/tomcat/conf/tomcat-users.xml
    

  2. <tomcat-users> 标签内添加:

    <!-- 定义角色 -->
    <role rolename="manager-gui"/>
    <role rolename="admin-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    
    <!-- 创建用户并分配角色 -->
    <user username="admin" password="your_strong_password" 
          roles="manager-gui,admin-gui,manager-script,manager-jmx,manager-status"/>
    

8.2 配置远程访问权限

默认情况下,管理界面只允许本地访问。如需远程访问:

  1. 编辑 manager 应用的 context 文件:

    sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
    

  2. 注释掉以下内容:

    <!--
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
           allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
    -->
    

  3. 同样修改 host-manager 的 context 文件:

    sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
    

8.3 重启服务使配置生效

sudo systemctl restart tomcat

9. 常见问题解决

9.1 如何更改 Tomcat 端口?

  1. 编辑 server.xml 文件:

    sudo vim /opt/tomcat/conf/server.xml
    

  2. 找到 <Connector port="8080" 部分,修改 port 属性值(如改为 8081)。

9.2 如何部署 Web 应用?

有以下几种方式:

  1. 直接将 WAR 文件放入 /opt/tomcat/webapps/ 目录
  2. 通过管理界面(http://your_server_ip:8080/manager)上传
  3. 使用 Maven 部署(需要额外配置)

9.3 如何监控 Tomcat 运行状态?

  1. 通过 JMX 监控
  2. 使用 Tomcat 自带的管理界面
  3. 查看日志:
    sudo tail -f /opt/tomcat/logs/catalina.out
    

10. 安全建议

  1. 定期更新 Tomcat 版本
  2. 使用强密码管理账户
  3. 限制管理界面的访问 IP
  4. 关闭不必要的功能
  5. 定期检查日志
  6. 考虑使用 HTTPS 加密通信

网站公告

今日签到

点亮在社区的每一天
去签到