温馨提示×

centos上tomcat部署web应用步骤

小樊
55
2025-10-07 01:24:48
栏目: 智能运维

CentOS上Tomcat部署Web应用完整步骤

1. 准备工作

在开始部署前,需完成以下基础准备:

  • 确保CentOS系统已更新至最新版本:sudo yum update -y
  • 安装必要工具(如wgetunzip):sudo yum install -y wget unzip

2. 安装Java环境

Tomcat依赖Java运行环境(JRE/JDK),推荐安装OpenJDK 8(兼容性最佳):

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

验证Java安装是否成功:

java -version

输出应包含java version "1.8.0_xxx",表示安装成功。

3. 下载并安装Tomcat

  • 下载Tomcat:访问Apache Tomcat官网(https://tomcat.apache.org)下载稳定版本(如Tomcat 9),或使用wget直接下载:
    wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
    
  • 解压Tomcat:将下载的压缩包解压至/opt目录(推荐用于存放应用程序):
    sudo tar xvf apache-tomcat-9.0.56.tar.gz -C /opt
    
  • 重命名目录(可选):为方便管理,可将目录重命名为tomcat
    sudo mv /opt/apache-tomcat-9.0.56 /opt/tomcat
    

4. 配置Tomcat环境变量

编辑/etc/profile.d/tomcat.sh文件(系统级环境变量),添加以下内容:

export CATALINA_HOME=/opt/tomcat  # Tomcat安装目录
export PATH=$PATH:$CATALINA_HOME/bin  # 将Tomcat命令加入PATH

使配置生效:

source /etc/profile.d/tomcat.sh

5. 配置Tomcat用户(可选但推荐)

为提升安全性,建议创建专用tomcat用户运行Tomcat服务:

# 创建tomcat用户组及用户(禁止登录shell)
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

# 更改Tomcat目录所有权(归属tomcat用户)
sudo chown -R tomcat:tomcat /opt/tomcat

6. 启动Tomcat服务

  • 直接启动(临时运行):
    /opt/tomcat/bin/startup.sh
    
  • 停止Tomcat
    /opt/tomcat/bin/shutdown.sh
    
  • 验证启动状态
    curl http://localhost:8080
    
    若返回Tomcat默认页面内容(如“Welcome to Tomcat”),则表示启动成功。

7. 配置防火墙

若服务器启用了firewalld防火墙,需开放Tomcat默认端口(8080):

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload

8. 部署Web应用

  • 准备WAR文件:将Web应用打包成WAR格式(如myapp.war),可通过Maven(mvn clean package)或Gradle构建生成。
  • 复制WAR文件:将WAR文件复制至Tomcat的webapps目录(Tomcat会自动解压部署):
    sudo cp /path/to/myapp.war /opt/tomcat/webapps/
    
  • 自动部署:Tomcat会自动解压WAR文件(生成myapp目录),无需手动操作。

9. 访问Web应用

在浏览器中输入以下URL(替换your_server_ip为服务器IP):

http://your_server_ip:8080/myapp

若看到应用首页,说明部署成功。

10. 设置Tomcat开机自启动(可选)

通过systemd创建Tomcat服务,实现开机自动运行:

  • 创建服务文件
    sudo vi /etc/systemd/system/tomcat.service
    
  • 添加以下内容(关键配置说明见注释):
    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    
    [Service]
    Type=forking
    Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk  # Java路径(通过`java -XshowSettings:properties -version`查看)
    Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid    # PID文件路径
    Environment=CATALINA_HOME=/opt/tomcat                   # Tomcat主目录
    Environment=CATALINA_BASE=/opt/tomcat                   # 实例目录(与主目录相同则无需修改)
    Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'  # JVM内存设置
    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                                             # 以tomcat用户运行
    Group=tomcat                                            # 所属组
    UMask=0007                                              # 文件权限掩码
    RestartSec=10                                           # 重启间隔(秒)
    Restart=always                                          # 失败时自动重启
    
    [Install]
    WantedBy=multi-user.target
    
  • 启用并启动服务
    sudo systemctl daemon-reload       # 重新加载systemd配置
    sudo systemctl enable tomcat       # 设置开机自启动
    sudo systemctl start tomcat        # 立即启动服务
    
  • 验证服务状态
    sudo systemctl status tomcat
    
    输出中“active (running)”表示服务已启动。

常见问题排查

  • 应用无法访问:检查Tomcat日志(/opt/tomcat/logs/catalina.out),确认WAR文件是否解压成功。
  • 端口冲突:若8080端口被占用,修改/opt/tomcat/conf/server.xml中的<Connector port="8080">为其他端口(如8081)。
  • 内存不足:调整CATALINA_OPTS中的-Xms(初始内存)和-Xmx(最大内存)参数(如-Xms1024M -Xmx2048M)。

0