温馨提示×

Linux环境下Java如何部署应用

小樊
51
2025-10-13 18:43:39
栏目: 编程语言

1. 安装Java运行环境(JDK/JRE)
在Linux上部署Java应用的第一步是安装Java运行环境。根据Linux发行版选择包管理器:

  • Debian/Ubuntu:使用apt安装OpenJDK(推荐),例如安装JDK 11:
    sudo apt update && sudo apt install openjdk-11-jdk -y
    
  • RHEL/CentOS:使用yum安装,例如:
    sudo yum install java-11-openjdk-devel -y
    

安装完成后,通过java -versionjavac -version验证安装是否成功(需显示Java版本信息)。

2. 准备Java应用(打包为可执行文件)
Java应用需打包为可执行JAR(普通Java应用)或WAR(Web应用)文件,以便部署:

  • 使用Maven:在项目根目录执行mvn clean package,生成的JAR/WAR文件位于target目录(如your-app.jaryour-app.war)。
  • 使用Gradle:执行gradle build,文件位于build/libs目录。

3. 部署应用到应用服务器(可选,Web应用必需)
若应用为Web应用(如Spring Boot),需使用应用服务器(如Tomcat):

  • 安装Tomcat
    • 包管理器(简单):例如Ubuntu使用sudo apt install tomcat9,安装后Tomcat会自动启动(端口8080)。
    • 手动下载(灵活):从Tomcat官网下载Linux版本(如apache-tomcat-9.0.xx.tar.gz),解压后移动到指定目录(如/usr/local/tomcat),配置CATALINA_HOME环境变量(编辑/etc/profile添加export CATALINA_HOME=/usr/local/tomcat,执行source /etc/profile生效)。
  • 部署应用:将打包好的WAR文件复制到Tomcat的webapps目录(如sudo cp target/your-app.war /usr/local/tomcat/webapps/),Tomcat会自动解压并部署(可通过http://服务器IP:8080/your-app访问)。

4. 直接运行Java应用(非Web应用)
若应用为普通Java程序(如命令行工具),可通过以下命令运行:

java -cp /path/to/your-app.jar com.example.Main

其中com.example.Main是应用的主类(包含public static void main(String[] args)方法)。

5. 配置Linux环境

  • 配置环境变量(可选但推荐):编辑~/.bashrc/etc/profile,添加Java环境变量:
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 根据实际JDK路径修改
    export PATH=$JAVA_HOME/bin:$PATH
    
    执行source ~/.bashrc使配置生效。
  • 配置防火墙:若服务器启用了防火墙(如CentOS的firewalld),需开放应用端口(如Tomcat的8080端口):
    sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --reload
    
  • 设置开机自启动(可选):使用systemd创建服务单元文件(如/etc/systemd/system/my-java-app.service),内容如下:
    [Unit]
    Description=My Java Application
    After=syslog.target network.target
    
    [Service]
    User=your_user  # 替换为运行应用的用户
    ExecStart=/usr/bin/java -jar /path/to/your-app.jar
    SuccessExitStatus=143
    Restart=on-abort
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target
    
    执行以下命令启用并启动服务:
    sudo systemctl daemon-reload
    sudo systemctl start my-java-app
    sudo systemctl enable my-java-app
    

6. 验证部署

  • Web应用:通过浏览器访问http://服务器IP:8080/your-app-context-path(如http://localhost:8080/your-app),检查是否能正常加载。
  • 普通Java应用:查看应用输出(如控制台日志),确认无报错且功能正常。

0