温馨提示×

Linux Java应用如何部署

小樊
53
2025-07-29 09:55:27
栏目: 编程语言

在Linux系统上部署Java应用通常涉及以下步骤:

1. 安装Java运行环境(JRE)或Java开发工具包(JDK)

  • 检查系统是否已安装Java: 在终端中输入 java -version,如果已经安装,会显示Java的版本信息。如果未安装,则需要进行安装。
  • 安装OpenJDK(以Ubuntu为例)
    sudo apt update
    sudo apt install openjdk-11-jdk
    
  • 验证安装: 安装完成后,再次检查Java版本以确认安装成功。
    java -version
    
  • 配置Java环境变量(可选): 编辑 ~/.bashrc/etc/profile 文件,设置 JAVA_HOME 环境变量。
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    export PATH=$JAVA_HOME/bin:$PATH
    
    保存文件后,在终端中运行 source ~/.bashrc 使配置生效。

2. 准备Java项目文件

  • 打包项目: 如果你的项目是使用Maven构建的,在项目根目录下运行:
    mvn clean package
    
    这将生成一个可执行的JAR文件(通常在 target 目录下)。 对于Gradle项目,运行:
    gradle build
    
  • 上传项目文件到Linux服务器: 使用 scp 命令将本地的JAR文件上传到Linux服务器。例如:
    scp myproject.jar user@server:/home/user/projects
    

3. 运行Java项目

  • 简单的JAR文件运行方式: 进入JAR文件所在的目录,运行以下命令来启动项目:
    java -jar myproject.jar
    
    这种方式会在当前终端窗口中运行项目,如果关闭终端,项目将停止运行。
  • 后台运行项目(使用 nohupsystemctl
    • 使用 nohup 命令
      nohup java -jar myproject.jar &
      
      运行后,会输出一个日志文件的路径(通常是 nohup.out),项目的控制台输出将被记录到这个文件中。
    • 使用 systemctl(适合作为系统服务运行项目): 创建一个服务单元文件(以 .service 为后缀),例如 myproject.service,内容如下:
      [Unit]
      Description=My Java Project Service
      After=network.target
      
      [Service]
      ExecStart=/usr/bin/java -jar /home/user/projects/myproject.jar
      WorkingDirectory=/home/user/projects
      Restart=always
      User=user
      
      [Install]
      WantedBy=multi-user.target
      
      将文件保存到 /etc/systemd/system/ 目录下,然后启用并启动服务:
      sudo systemctl enable myproject.service
      sudo systemctl start myproject.service
      

4. 配置Web应用服务器(如果适用)

  • 安装Tomcat: 可以通过包管理器安装或从官方网站下载二进制分发版。例如,在Ubuntu上:
    sudo apt install tomcat9
    
  • 配置Web应用服务器: 将WAR文件放到Tomcat的 webapps 目录下。Tomcat会自动解压这个WAR文件并部署应用。
    sudo cp /path/to/yourapp.war /var/lib/tomcat9/webapps/
    
  • 测试部署的应用程序: 打开浏览器访问 http://your-server-ip:8080/your-app-context-path 来确认应用已成功部署并运行。

5. 配置防火墙(如果需要)

  • 如果你的服务器有防火墙,确保开放了Tomcat监听的端口(通常是8080)。 在CentOS/RHEL上开放端口:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

通过以上步骤,你应该能够在Linux系统上成功部署和运行Java项目。

0