在服务器上部署SpringBoot项目jar包

以下是在服务器上部署Spring Boot项目jar包的步骤:

  1. 打包项目

    • 使用IDEA或者命令行工具(如Maven或Gradle)将Spring Boot项目打包为一个可执行的jar文件。

    • 如果使用Maven,可以在项目的根目录下运行以下命令来打包项目:

      复制代码
      mvn clean package -DskipTests

      这个命令会清除之前的构建产物,然后打包项目,并跳过测试。

  2. 将jar文件上传到服务器

    • 使用FTP、SCP、SFTP等工具将生成的jar文件上传到服务器的指定目录,例如 /opt/myapp
  3. 创建启动脚本(可选):

    • 可以创建一个shell脚本来启动和停止你的应用。以下是一个简单的示例:

      bash 复制代码
      #!/bin/bash
      
      APP_NAME=myapp
      JAR_FILE=/opt/myapp/myapp.jar
      PID_FILE=/var/run/$APP_NAME.pid
      LOG_FILE=/var/log/$APP_NAME.log
      
      start() {
          if [ -f $PID_FILE ]; then
              echo "Application is already running..."
              exit 1
          fi
          
          java -jar $JAR_FILE > $LOG_FILE 2>&1 &
          echo $! > $PID_FILE
          echo "Application started."
      }
      
      stop() {
          if [ ! -f $PID_FILE ]; then
              echo "Application is not running..."
              exit 1
          fi
          
          PID=$(cat $PID_FILE)
          kill $PID
          rm $PID_FILE
          echo "Application stopped."
      }
      
      case "$1" in
          start)
              start
              ;;
          stop)
              stop
              ;;
          restart)
              stop
              start
              ;;
          *)
              echo "Usage: $0 {start|stop|restart}"
              exit 1
              ;;
      esac

      将这个脚本保存为 myapp.sh,并将其放在一个方便的位置,如 /etc/init.d/

  4. 赋予脚本执行权限

    • 在服务器上,使用 chmod 命令给启动脚本添加执行权限:

      复制代码
      chmod +x /etc/init.d/myapp.sh
  5. 配置系统服务(可选):

    • 如果你希望在系统启动时自动启动你的应用,或者使用 service 命令来管理应用,可以将启动脚本添加为系统服务。以下是在Ubuntu系统中使用Systemd的示例:
      • 创建一个systemd服务单元文件 /etc/systemd/system/myapp.service,内容如下:

        复制代码
        [Unit]
        Description=My Spring Boot Application
        After=network.target
        
        [Service]
        ExecStart=/etc/init.d/myapp.sh start
        ExecStop=/etc/init.d/myapp.sh stop
        User=<your_user>
        Restart=always
        
        [Install]
        WantedBy=multi-user.target
      • 更新systemd服务列表:

        复制代码
        systemctl daemon-reload
      • 启动服务并设置开机启动:

        复制代码
        systemctl start myapp
        systemctl enable myapp
  6. 启动应用

    • 使用以下命令启动你的应用:

      复制代码
      /etc/init.d/myapp.sh start
    • 或者,如果已经配置了系统服务,可以使用 systemctl 命令:

      复制代码
      systemctl start myapp
  7. 验证应用是否运行

    • 可以通过访问应用的URL或者查看日志文件 /var/log/myapp.log 来确认应用是否成功启动。

以上就是将Spring Boot项目jar包部署到服务器上的基本步骤。根据你的具体需求和服务器环境,可能需要进行一些调整。

相关推荐
14L6 小时前
互联网大厂Java面试:从Spring Cloud到Kafka的技术考察
spring boot·redis·spring cloud·kafka·jwt·oauth2·java面试
地藏Kelvin6 小时前
Spring Ai 从Demo到搭建套壳项目(二)实现deepseek+MCP client让高德生成昆明游玩4天攻略
人工智能·spring boot·后端
一个有女朋友的程序员6 小时前
Spring Boot 缓存注解详解:@Cacheable、@CachePut、@CacheEvict(超详细实战版)
spring boot·redis·缓存
wh_xia_jun7 小时前
在 Spring Boot 中使用 JSP
java·前端·spring boot
yuren_xia7 小时前
在Spring Boot中集成Redis进行缓存
spring boot·redis·缓存
yuren_xia8 小时前
Spring Boot + MyBatis 集成支付宝支付流程
spring boot·tomcat·mybatis
我爱Jack9 小时前
Spring Boot统一功能处理深度解析
java·spring boot·后端
RainbowJie110 小时前
Spring Boot 使用 SLF4J 实现控制台输出与分类日志文件管理
spring boot·后端·单元测试
面朝大海,春不暖,花不开10 小时前
Spring Boot MVC自动配置与Web应用开发详解
前端·spring boot·mvc
发愤图强的羔羊11 小时前
SpringBoot异步导出文件
spring boot·后端