在服务器上部署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包部署到服务器上的基本步骤。根据你的具体需求和服务器环境,可能需要进行一些调整。

相关推荐
小蒜学长9 分钟前
基于Vue.js + Spring Boot的酒店客房预订系统设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·酒店客房预订系统
豆角焖肉15 分钟前
SpringBoot + Redis 缓存实战
java·spring boot·redis·后端·缓存·菜单缓存
牧瀬クリスだ19 分钟前
Ajax入门:从原生XHR到axios实战
java·spring boot·ajax·okhttp
豆角焖肉34 分钟前
SpringBoot+JWT 实现前后端分离登录鉴权
java·开发语言·spring boot·jwt·前后端分离·登录认证
WeiXin_DZbishe9 小时前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217
vue.js·spring boot·python·django·php·课程设计
vx_bisheyuange10 小时前
基于SpringBoot的体育商品推荐系统
spring boot·毕业设计
Wx-bishekaifayuan10 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
人工智能·spring boot·后端·python·课程设计·express·旅游
Wx-bishekaifayuan11 小时前
springboot汉中旅游服务平台41442-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
WeiXin_DZbishe11 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
WeiXin_DZbishe12 小时前
基于Springboot+AI的kuall音乐广场的设计与实现-计算机毕设 附源码【课程设计】12715
vue.js·人工智能·spring boot·后端·python·php·课程设计