插件窝 干货文章 JavaWeb怎么部署到Linux服务器

JavaWeb怎么部署到Linux服务器

project Tomcat your 部署 320    来源:    2025-04-26

JavaWeb 项目部署到 Linux 服务器指南

一、准备工作

  1. 服务器环境准备

    • 确保服务器已安装 JDK(推荐 JDK 8 或 JDK 11)
    • 安装 Web 服务器(Tomcat/Jetty/Undertow 等)
    • 安装数据库(MySQL/PostgreSQL 等,如需要)
  2. 项目打包

    • 使用 Maven/Gradle 将项目打包为 WAR 或 JAR 文件
    • 示例 Maven 命令:mvn clean package

二、常见部署方式

方式1:使用 Tomcat 部署 WAR 包

  1. 上传 WAR 文件

    scp your-project.war username@server_ip:/opt/tomcat/webapps/
    
  2. Tomcat 自动部署

    • Tomcat 会自动解压 WAR 文件并部署应用
    • 访问地址:http://server_ip:8080/your-project
  3. 手动部署(可选)

    # 停止 Tomcat
    /opt/tomcat/bin/shutdown.sh
    
    # 删除旧版本(如有)
    rm -rf /opt/tomcat/webapps/your-project*
    
    # 复制新 WAR 文件
    cp your-project.war /opt/tomcat/webapps/
    
    # 启动 Tomcat
    /opt/tomcat/bin/startup.sh
    

方式2:使用 Spring Boot 可执行 JAR

  1. 上传 JAR 文件

    scp your-project.jar username@server_ip:/opt/your-project/
    
  2. 运行应用

    # 简单运行
    java -jar your-project.jar
    
    # 后台运行(推荐)
    nohup java -jar your-project.jar > app.log 2>&1 &
    
    # 指定配置文件(如有)
    nohup java -jar -Dspring.profiles.active=prod your-project.jar > app.log 2>&1 &
    
  3. 使用 systemd 管理(推荐)

    # 创建服务文件
    sudo vim /etc/systemd/system/your-project.service
    

    服务文件内容示例:

    [Unit]
    Description=Your Java Web Application
    After=syslog.target
    
    [Service]
    User=youruser
    ExecStart=/usr/bin/java -jar /opt/your-project/your-project.jar
    SuccessExitStatus=143
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    启用并启动服务:

    sudo systemctl daemon-reload
    sudo systemctl enable your-project
    sudo systemctl start your-project
    

三、进阶配置

  1. Nginx 反向代理

    server {
       listen 80;
       server_name yourdomain.com;
    
       location / {
           proxy_pass http://127.0.0.1:8080;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
    }
    
  2. HTTPS 配置

    • 使用 Let's Encrypt 获取免费 SSL 证书
    • 配置 Nginx 支持 HTTPS
  3. 日志管理

    • 配置 logrotate 定期轮转日志
    • 使用 ELK 或类似工具集中管理日志

四、常见问题排查

  1. 端口冲突

    netstat -tulnp | grep 8080
    
  2. 查看日志

    # Tomcat 日志
    tail -f /opt/tomcat/logs/catalina.out
    
    # Spring Boot 日志
    journalctl -u your-project -f
    
  3. 内存问题

    # 查看 Java 进程
    jps -l
    
    # 查看内存使用
    top -p $(pgrep -f your-project.jar)
    

五、自动化部署(可选)

  1. 使用 Jenkins/GitLab CI 实现 CI/CD
  2. 编写部署脚本

    #!/bin/bash
    scp target/your-project.war user@server:/opt/tomcat/webapps/
    ssh user@server "/opt/tomcat/bin/shutdown.sh && /opt/tomcat/bin/startup.sh"
    
  3. 使用 Ansible/Puppet 等配置管理工具

希望这个指南能帮助你顺利将 JavaWeb 项目部署到 Linux 服务器!如有具体问题,可以进一步咨询。