以jar包形式 部署Spring Boot项目

后端部署

当你将Spring Boot项目打包成JAR文件并上传到服务器时,可以考虑在服务器上创建一些目录来存放这个JAR文件以及相关的配置文件。以下是一些常见的目录结构建议:

  1. /opt/your-project-name//opt目录下创建一个与你的项目名称相关的目录,例如/opt/my-spring-boot-app。这个目录可以用于存放整个项目的文件。

  2. /opt/your-project-name/bin/ 在项目目录下创建一个bin目录,用于存放启动脚本。你可以在这里放置启动和停止应用程序的脚本。

    复制代码
    /opt/my-spring-boot-app/
    └── bin/
        ├── start.sh
        └── stop.sh

    start.sh 可能包含类似以下内容的启动命令:

    bash 复制代码
    #!/bin/bash
    java -jar /opt/my-spring-boot-app/my-spring-boot-app.jar
  3. /opt/your-project-name/config/ 用于存放项目的配置文件,例如application.propertiesapplication.yml

    复制代码
    /opt/my-spring-boot-app/
    └── config/
        ├── application.properties
        └── application.yml
  4. /opt/your-project-name/logs/ 存放应用程序的日志文件。

    复制代码
    /opt/my-spring-boot-app/
    └── logs/
        ├── application.log
        └── spring-boot.log

    你可以在应用程序的配置文件中指定日志的输出路径。

  5. /opt/your-project-name/lib/ 存放项目的JAR文件。

    复制代码
    /opt/my-spring-boot-app/
    └── lib/
        └── my-spring-boot-app.jar

    这里是你上传并执行的JAR文件。

确保在服务器上创建这些目录之前,先适应服务器用户的权限设置,确保有足够的权限来执行和访问这些目录。此外,确保在启动脚本中使用绝对路径,以防止路径问题。

前端部署

对于Vue.js前端项目,通常可以考虑将打包生成的静态文件(如HTML、CSS、JavaScript等)放置在服务器上的一个特定目录。以下是一些建议的目录结构:

  1. /var/www/html/your-frontend-app/ 这是一个常见的Web服务器默认的根目录。你可以在这个目录下创建一个专门用于存放前端应用的子目录。

    复制代码
    /var/www/html/
    └── your-frontend-app/
        ├── index.html
        ├── static/
        │   ├── css/
        │   ├── js/
        │   └── images/
        └── ...
    • index.html:前端应用的入口文件。
    • static/:存放静态资源文件的目录,包括 CSS、JavaScript 和图片等。
  2. /opt/your-frontend-app/ 这是另一个常见的目录,用于存放应用程序文件。

    复制代码
    /opt/your-frontend-app/
    ├── index.html
    ├── static/
    │   ├── css/
    │   ├── js/
    │   └── images/
    └── ...

    这个目录可以更适用于存放整个前端应用程序的文件,包括 index.htmlstatic/ 目录。

无论你选择哪个目录,确保在Web服务器的配置文件中正确指定了静态文件的路径,以便能够正确访问到你的前端应用。

请注意,确保设置合适的权限以确保Web服务器能够访问这些文件。同时,具体的部署结构也可能受到服务器和Web服务器的配置影响,可以根据实际情况进行调整。

相关推荐
言慢行善8 小时前
sqlserver模糊查询问题
java·数据库·sqlserver
专吃海绵宝宝菠萝屋的派大星8 小时前
使用Dify对接自己开发的mcp
java·服务器·前端
大数据新鸟8 小时前
操作系统之虚拟内存
java·服务器·网络
Tong Z8 小时前
常见的限流算法和实现原理
java·开发语言
凭君语未可8 小时前
Java 中的实现类是什么
java·开发语言
He少年8 小时前
【基础知识、Skill、Rules和MCP案例介绍】
java·前端·python
克里斯蒂亚诺更新8 小时前
myeclipse的pojie
java·ide·myeclipse
迷藏4949 小时前
**eBPF实战进阶:从零构建网络流量监控与过滤系统**在现代云原生架构中,**网络可观测性**和**安全隔离**已成为
java·网络·python·云原生·架构
迷藏4949 小时前
**发散创新:基于Solid协议的Web3.0去中心化身份认证系统实战解析**在Web3.
java·python·web3·去中心化·区块链