通过宝塔面板部署一个SpringBoot+Vue前后端分离项目的指南(三更)

这篇具有很好参考价值的文章主要介绍了通过宝塔面板部署一个SpringBoot+Vue前后端分离项目的指南(三更)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

采取的部署方案

阿里云服务器->FinalShell->宝塔面板。
近期需要将自己的一个SpringBoot+Vue前后端分离项目,并且是分模块开发的项目部署到服务器上,记录一下踩坑的地方,结合C站大佬的解决方案,循循善诱一步步部署到服务器上,简单,快速!

一、实现思路

  1. 购买服务器,阿里云,腾讯云,华为云等,24周岁以下通过实名认证有优惠补贴,或者搜索试用,可以试用1个月。我这里采取的是阿里云服务器。
  2. 通过FinalShell工具,安装宝塔面板,安装成功后,会响应一个面板地址和用户名密码信息。
  3. 通过FinalShell响应的外网面板地址,登录宝塔面板。
  4. 在宝塔面板新建一个数据库,记住数据库名和账户密码。
  5. 将前端项目npm run biuld打包成dist文件。
  6. 将后端项目通过maven打jar包。(注意:后端项目在打包前,需要在对应的application文件中修改数据库信息,这里的数据库不是本地的localhost了,是刚刚在宝塔上创建的数据库信息
  7. 将前后端项目上传到宝塔面板。
  8. 进入终端,cd到你上传的jar包目录下,启动项目。

二、使用步骤

1.购买服务器

https://www.aliyun.com/
使用阿里云的时候,个人建议还是切换成旧版,操作更加简洁。
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算选择阿里云服务器时在配置过程中,注意:操作系统选择较为完备成熟的centos7
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算进入实例,重置你的密码
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

点击进入实例,配置安全组,就是放开你项目中所需要运行的端口
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算
点击添加安全组,配置你所需放行的端口
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

2.FinalShell工具

Windows版下载地址:
http://www.hostbuf.com/downloads/finalshell_install.exe
安装完成后:
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算连接成功
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

3.拉取宝塔面板

宝塔地址:
https://www.bt.cn/new/index.html
复制Centos安装脚本:

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算
这里注意
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算现在可以通过宝塔面板反馈的账号密码,登录到宝塔面板了。
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

4.配置宝塔面板&新建数据库

进入到宝塔面板会让你绑定宝塔的账号,就用手机号注册就行了。
然后会推荐安装插件,选左边系统推荐的,一键安装就行。
刚才在阿里云配置了安全组(放行端口),宝塔面板也同样需要放行端口。
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算新建数据库:
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算导入本地准备的sql文件。进行导入,导入成功后,点击管理,用你的数据库账号登录管理器可以查看你的数据库信息。
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算宝塔的配置暂时到这里。

5.前端代码打包

打包前修改原来的启动端口:
sg-blog-vue:8093
sg-blog-admin:8094
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算sg-blog-vue:
把target的指向改为自己宝塔左上角的ip地址+后端端口号

宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算此时sg-blog-vue修改完备:
在控制台(当前目录)输入:npm run biuld命令进行打包。生成dist文件
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

sg-blog-admin:
同样将原来的localhost改为ip+后端端口号
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算注意:🕳
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算然后配置一下router下的index.js文件,有路由缺失,不配置的话,打包部署后,只能展示左侧目录,不能对应功能。
index.js配置如下:

export const constantRoutes = [
  {
    path: '/login',
    component: () => import('@/views/login/index'),
    hidden: true
  },
  {
    path: '/',
    component: Layout,
    redirect: '/dashboard',
    children: [{
      path: 'dashboard',
      name: 'Dashboard',
      component: () => import('@/views/dashboard/index'),
      meta: { title: '首页', icon: 'dashboard' }
    }]
  },
  {
    path: '/write',
    component: Layout,
    children: [{
      path: '/',
      name: 'Write',
      component: () => import('@/views/content/article/write/index'),
      hidden: true
    }]
  },
  {
    path: '/system/user',
    component: Layout,
    children: [{
      path: '/',
      name: 'User',
      component: () => import('@/views/system/user'),
      hidden: true
    }]
  },
  {
    path: '/system/role',
    component: Layout,
    children: [{
      path: '/',
      name: 'role',
      component: () => import('@/views/system/role'),
      hidden: true
    }]
  },
  {
    path: '/system/menu',
    component: Layout,
    children: [{
      path: '/',
      name: 'menu',
      component: () => import('@/views/system/menu'),
      hidden: true
    }]
  },
  {
    path: '/system/role',
    component: Layout,
    children: [{
      path: '/',
      name: 'role',
      component: () => import('@/views/system/role'),
      hidden: true
    }]
  },
  {
    path: '/content/article',
    component: Layout,
    children: [{
      path: '/',
      name: 'article',
      component: () => import('@/views/content/article/index'),
      hidden: true
    }]
  },
  {
    path: '/content/category',
    component: Layout,
    children: [{
      path: '/',
      name: 'category',
      component: () => import('@/views/content/category/index'),
      hidden: true
    }]
  },
  {
    path: '/content/link',
    component: Layout,
    children: [{
      path: '/',
      name: 'link',
      component: () => import('@/views/content/link/index'),
      hidden: true
    }]
  },
  {
    path: '/content/tag',
    component: Layout,
    children: [{
      path: '/',
      name: 'tag',
      component: () => import('@/views/content/tag/index'),
      hidden: true
    }]
  }
]

这里退出登录的路由会跳转到index,
但是服务器找不到index,这里直接设置’/'跳转首页去
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算由于生产环境和blog不同,现在sg-vue-admin模块项目使用下面命令打包:

npm run build:prod

如果出现打包错误:
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

注释掉以下内容:

宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算至此前端文件打包完毕;

6.后端代码打jar包

这里如果代码打包出现问题,可以去我主页看看我总结的解决方案:
https://blog.csdn.net/weixin_51285339/article/details/128785245?spm=1001.2014.3001.5501
我的项目结构:
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算framework父文件加入打包插件依赖:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.10.1</version>
            </plugin>
            <!-- 此插件必须放在父 POM 中  -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.3.0</version>
                <executions>
                    <!--
                    执行本插件的方法为,在主目录下执行如下命令:
                    mvn package assembly:single

                    对于 IntelliJ IDEA,生成的 JAR 包位于每个模块下的文件夹 target
                    -->
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <!-- 此处 IntelliJ IDEA 可能会报红,这是正常现象  -->
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifest>
                            <!-- 配置程序运行入口所在的类 -->
                             <!-- 自己的启动类path-->
                            <mainClass>com.mest.BlogAdminApplication</mainClass>
                        </manifest>
                        <manifest>
                            <!-- 配置程序运行入口所在的类 -->
                            <mainClass>com.mest.MestBlogApplication</mainClass>
                        </manifest>
                    </archive>
                    <!-- 设置 JAR 包输出目录 -->
                    <outputDirectory>${project.build.directory}/#maven-assembly-plugin</outputDirectory>
                    <!-- 设置打包后的 JAR 包的目录结构为默认 -->
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>

admin和blog子模块添加biuld:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.6.2</version>

                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <finalName>${project.artifactId}</finalName>
    </build>

刷新maven后,将前端sg-blog-vue和sg-blog-admin生成的dist文件,新建一个static包,然后复制到src\main\resources\static目录下,将前后端项目整合打包,实现一个伪前后端分离,便于宝塔直接部署。
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算
在打包之前,配置一下两个模块中application的数据库文件,换成自己的ip地址,并且这里的username和password要和宝塔上创建的数据库一致,不然连接不了数据库。

宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

然后进行打包

宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

7.上传jar包到宝塔

在指定的目录下创建两个文件夹,用来存放刚才的两个jar包
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算
上传目标jar包

宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算打开终端,cd到存放jar包的目录,执行命令:

nohup java -jar xxx.jar  > ./demo.log 2>&1 &

宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算
如果启动发现端口被占用了,
输入netstat -lnp命令查看端口信息,
使用sudo kill xxx进行删除

宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算此时通过ip+端口访问你的项目就成功了:

前台:
宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

后台:

宝塔部署springboot项目,spring boot,vue.js,腾讯云,云计算

并且宝塔退出后网站也不会挂掉。

总结

部署结束,感谢B站三更和C站的博主为我的项目提供了莫大的帮助,部署过程中出现困难或者文章有纰漏欢迎留言讨论。

参考文章👍:
https://blog.csdn.net/qq_52030824/article/details/127982206
https://blog.csdn.net/weixin_43352606/article/details/124134029文章来源地址https://www.toymoban.com/news/detail-779535.html

到了这里,关于通过宝塔面板部署一个SpringBoot+Vue前后端分离项目的指南(三更)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows服务器,通过Nginx部署VUE+Django前后端分离项目

    基本说明 安装 Nginx 部署 VUE 前端 部署 Django 后端 Django admin 静态文件(CSS,JS等)丢失的问题 总结 本文介绍了在 windows 服务器下,通过 Nginx 部署 VUE + Django 前后端分离项目。本项目前端运行在 80 端口,服务器端运行在 8000 端口。因此本项目使用 Django 的 runserver 命令进行部署

    2024年02月05日
    浏览(63)
  • 一个基于SpringBoot+Vue前后端分离学生宿舍管理系统详细设计实现

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟 2022-2024年

    2024年02月07日
    浏览(144)
  • 若依springboot+vue前后端分离系统部署到腾讯服务器教程

    前后端分离的开发模式在现代web应用开发中越来越流行,它可以提高开发效率、降低维护成本、提高系统的可扩展性和可维护性。而腾讯云作为国内领先的云计算服务提供商,为开发者提供了稳定、高效、安全的云计算服务,为前后端分离应用的部署提供了良好的解决方案。

    2024年02月04日
    浏览(66)
  • 【Docker】docker部署springboot+vue+mysql+nginx前后端分离项目【部署实战篇】

    安装docker: https://blog.csdn.net/qq_39900031/article/details/121666892 springboot-vue前后端分离项目:https://gitee.com/ma-haojie/springboot-vue-demo.git https://jackwei.blog.csdn.net/article/details/110227719 或者 --restart=always 参数能够使我们 在重启docker时,自动启动相关容器 。 Docker容器的重启策略如下: no,默认

    2024年02月13日
    浏览(49)
  • 一张思维导图带你学会SpringBoot、Vue前后端分离项目线上部署

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:SpringBoot实战 日常开发项目上线或者部署个人博客网站,都离不开线上服务器部署应用。本文带你学会线上部署应用。

    2024年02月14日
    浏览(61)
  • 基于springboot+vue+mysql的新能源充电系统--前后端分离(内含源码+报告+部署教程)

    新能源充电系统管理系统按照操作主体分为管理员和用户。管理员的功能包括反馈管理、客服聊天管理、充电桩管理、充电桩预约管理、字典管理、新能源公告管理、用户管理、管理员管理等,可以管理报修。用户的功能包括管理部门以及部门岗位信息,管理充电桩信息,培

    2024年02月09日
    浏览(46)
  • [每周一更]-(第57期):用Docker、Docker-compose部署一个完整的前后端go+vue分离项目

    将公司物理机项目改为容器化部署,最终方案是通过容器docker-compose部署使项目可以ip+端口访问,再通过物理机nginx代理进行https域名访问。 可能还有更好的方式,开一个nginx的容器,进行代理,但由于跟物理机80,443端口冲突,暂时没有采用。 可能目前处理不是最好的方式,不

    2024年02月14日
    浏览(40)
  • 如何把vue项目部署服务器(宝塔面板)上

    首先我们把准备好的vue项目进行打包: 输入命令:npm run build    生成dist文件   二、进入宝塔管理界面,点击网站,然后点击添加站点  三。按下面输入  点设置 四。 输入好点添加,注意!!!test.com 可以,有些已经有的不可以(如dada.com),且前面不能加www  (1)这里需要

    2024年02月12日
    浏览(66)
  • 手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile

    部署环境提供vm16,和centos7,其中把镜像改成.iso文件就可以了 阿里云链接: https://www.alipan.com/s/BTnpjuHWtEp 为什么用阿里云,不限速啊,秉持着开源白嫖的精神 新建虚拟机 选择镜像 创建用户 设置虚拟机存存放位置 默认下一步 自定义硬件 选了扩大一下内存,扩不扩无所谓 检查

    2024年01月16日
    浏览(69)
  • 在前后端分离的项目中,Springboot vue,前端把json传到后端,后端用一个类接收,json中的数据是怎么转换类型的

    在前后端分离的项目中,前端通常会将数据以 JSON 格式传输给后端,后端需要将接收到的 JSON 数据转换为对应的类型。这个过程可以通过后端框架和库来自动完成。 在Spring Boot中,后端可以使用相关的库来实现JSON数据的转换。常见的库包括Jackson、Gson和FastJson等。这些库提供

    2024年02月13日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包