宝塔部署前后端分离项目手册

文章目录

安装宝塔

登录官网直接在线安装就可以 或者参考宝塔官网介绍

https://www.bt.cn/new/download.html

安装完成,记得保存宝塔信息(用户名和密码,密码后期也可以改)

安装环境

登录宝塔,在软件商店里,看需求安装软件.比如:jdk/tomcat/redis/nginx

必要的有FTP、MySQL、PHP、phpMyAdmin、java项目一键部署等,其中,PHP用来启动前端项目,phpMyAdmin用来开启一个新的网页管理MySQL数据库。java项目一键部署用来安装tomcat的同时也会自动安装jdk

开始部署

前后端项目部署过程中,可能会遇到各种bug.有问题也可以给我留言

1. 前端Vue项目

1.先本地启动前端项目(记住端口号)

在这里,我的端口号是9528 ,注意这个细节,后面在上传前端文件之后需要用到。

2.打包前端项目

在正式将文件上传到服务器之前,我们先在本地启动一下前端项目,查看一下前端项目在本地启动时所占用的端口,

使用命令npm run build,之后当前目录中会产生dist文件夹。

3.上传前端项目

项目打包好之后, 我们要将刚才打包好的dist文件夹,利用宝塔的文件菜单上传到指定文件夹位置。

4.创建PHP站点

我们需要借助PHP添加一个站点,还记得刚刚那个端口号吗?在建站的时候需要填入项目在本地启动时的那个端口号,具体注意事项如下图所示:


5.安全里开放端口号

云厂商:

宝塔:

6.测试前端

当一切准备就绪之后,我们再输入相关的地址,就能够访问刚刚部署的前端应用了

2. 后端boot项目

先把数据库配置好,把sql导入.

1. 先在本地跑起来

本地没问题,再说往服务器扔.在正式打包后端项目之前,我们同样将项目启动一下,查看项目运行时所占用的端口号。在这里,我的后端项目启动时所占用的端口号为8080。

2.修改数据库的配置信息

主要把你本地的数据库信息改成服务器的数据库信息。。。数据库名/端口号/连接数据库的用户名/密码

3. 项目打包

在idea里执行,maven-》install,找到jar包

后端项目打包成功之后,target目录(在启动类所在的项目里)下会自动生成一个jar文件。同样,我们把打包后的这个jar文件上传至服务器, 这里我上传到的服务器路径与dist文件夹的上一级目录(这个看个人选择)。

4. nohup启动项目

接下来,我们需要点击后端文件目录下的终端,运行以下命令(该命令保证了spring程序能够在后台运行,不至于我们将控制台关闭之后程序就停止运行了):

4.1 宝塔里平替4的操作:

4或者4.1 二选一两种方式都可以

在宝塔里添加 【Java项目】 站点

添加完项目后,服务会自动启动。在这时,我们需要检查后台项目日志,确保启动成功。

5. 查看日志

当我们运行完上面的命令,刷新当前目录,就可以看到多出来的nohup.out文件,双击该文件可以查看spring的运行状态。

6. 测试后端

我们在网址上输入对应的服务器IP和端口 ,此时就可以看到后台给我们响应回来的数据啦。

3.配置nginx

4.联调

前台

后台:(如果用的4.1才有)

启动完后端服务之后 ,我们重新访问前端,看是否能查到后台返回相关的数据。 到这里,我们的应用算是部署成功啦。

5. 顺便一说

在部署的过程中,难免磕磕绊绊,比如在正式运行后端项目时我们需要先在Linux系统中安装JDK,并且在部署的时候还需要注意跨域问题(Controller层加@CrossOrigin)。

JDK怎么更好地安装呢?在没有安装JDK之前,我们可以尝试直接运行下面这一条命令,这时控制面板肯定会报错。与此同时,命令下方会有几行提示信息(即提示我们如何安装JDK并配置环境变量).

在启动后端项目时,如果你想看日志看有没有报错之类的信息,可以先用java命令启动后端服务来看日志,如果前端访问都没报错,再杀掉进程,重新使用nohup(可以忽略挂起信号)启动.

bash 复制代码
java -jar xxx.jar 
netstat -anp | grep :8080
kill -9 PID
nohup java -jar xxx.jar &
相关推荐
知兀4 分钟前
【MybatisPlus】后端用枚举类,数据库用tinyint,存在枚举类型转换
java
StockTV6 分钟前
印度股票实时数据 NSE和BSE的实时行情、K 线及指数数据
java·开发语言·spring boot·python
User_芊芊君子8 分钟前
【OpenAI 把 AI 玩明白了】:自主推理 + 动态知识图谱,这 4 个技术突破要颠覆行业
java·人工智能·知识图谱
c++之路41 分钟前
C++20概述
java·开发语言·c++20
Championship.23.241 小时前
Linux Top 命令族深度解析与实战指南
java·linux·服务器·top·linux调试
橘子海全栈攻城狮1 小时前
【最新源码】养老院系统管理A013
java·spring boot·后端·web安全·微信小程序
逻辑驱动的ken1 小时前
Java高频面试考点18
java·开发语言·数据库·算法·面试·职场和发展·哈希算法
冷雨夜中漫步2 小时前
Claude Code源码分析——Claude Code Agent Loop 详细设计文档
java·开发语言·人工智能·ai
直奔標竿2 小时前
Java开发者AI转型第二十六课!Spring AI 个人知识库实战(五)——联网搜索增强实战
java·开发语言·人工智能·spring boot·后端·spring
one_love_zfl2 小时前
java面试-微服务组件篇
java·微服务·面试