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

news2024/9/8 12:25:12

文章目录

  • 安装宝塔
  • 安装环境
  • 开始部署
    • 1. 前端Vue项目
      • 1.先本地启动前端项目(记住端口号)
      • 2.打包前端项目
      • 3.上传前端项目
      • 4.创建PHP站点
      • 5.安全里开放端口号
      • 6.测试前端
    • 2. 后端boot项目
      • 1. 先在本地跑起来
      • 2.修改数据库的配置信息
      • 3. 项目打包
      • 4. nohup启动项目
      • 4.1 宝塔里平替4的操作:
      • 5. 查看日志
      • 6. 测试后端
    • 3.配置nginx
    • 4.联调
    • 5. 顺便一说

安装宝塔

登录官网直接在线安装就可以 或者参考宝塔官网介绍
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(可以忽略挂起信号)启动.

java -jar xxx.jar 
netstat -anp | grep :8080
kill -9 PID
nohup java -jar xxx.jar &

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1703102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年必看!会声会影神器升级,让你的视频制作技能直线上升

在数字媒体内容呈现爆炸式增长的今天,无论是个人还是企业,都开始重视视频制作与编辑的质量。一款优秀的视频编辑软件,不仅需要具备强大的功能,更需要提供直观、高效的用户体验。在这样的背景下,会声会影2024应运而生&a…

《开发问题解决》Window下7z解压:cannot create symbolic link : 客户端没有所需的特权

问题描述: 今天使用7z来解压东西的是突然出现这个问题。 问题解决: download直接下载到c盘中,由于所在文件夹有权限限制。无法进行正常解压。 7.zip解压时使用管理员权限进行解压,解压时使用管理员权限。即如图 使用管理员权限重…

基于飞书机器人跨账号消息提醒

事情的起因是飞书中不同的账号不能同时登录,虽然可以在飞书的账号切换页面看到其他账号下是否有消息提醒(小红点),但是无法实现提醒功能,很不优雅,因此本文尝试提出一种新的方式实现不同账号之间的提醒功能…

基于Go实现的分布式主键系统

基于Go实现的分布式主键系统 摘要 随着互联网的发展,微服务得到了快速的发展,在微服务架构下,分布式主键开始变得越来越重要。目前分布式主键的实现方式颇多,有基于数据库自增的、基于UUID的、基于Redis自增的、基于数据库号段的…

时空AI软件:地理信息与遥感领域的智慧引擎

在地理信息与遥感技术的广阔疆域,时空AI软件如同一颗璀璨新星,将时空信息与智能深度融合,驱动着地理信息分析、决策支持、环境监测、城市规划等领域的深刻变革。本文将深入剖析其技术核心、应用实例、未来趋势,探索时空AI软件如何…

OrangePi Kunpeng Pro 开发板测评及Python开发实测

一、背景 首先感谢 创新乐知通过CSDN 邀请本人,参与这次 评测活动。这块开发板是香橙派联合华为精心打造,具有超强算力的鲲鹏开发板。本人使用最多的还是树莓派系列的板子,国产板子特别是华为为核心的板子还是头一次使用,特别感兴…

使用 Spring Cloud Alibaba AI 构建 RAG 应用

作者:姬世文 背景介绍 RAG(Retrieval Augmented Generation) 检索增强生成(RAG)是一种用于将数据与人工智能模型集成的技术。在 RAG 工作流程中,第一步将文档数据加载到矢量数据库(例如 Redi…

【Day8:JAVA字符串的学习】

目录 1、常用API2、String类2.1 String类的特点2.2 String类的常见构造方法2.3 String类的常见面试题:2.3.1 面试题一:2.3.2 面试题二:2.3.3 面试题三:2.3.4 面试题四: 2.4 String类字符串用于比较的方法2.5 String类字…

万博智云×华为云 | HyperBDR云容灾上架,开启联营联运新篇章

日前,万博智云HyperBDR云容灾正式入驻华为云云商店,成为华为云基础软件领域联营联运合作伙伴。通过联营联运,双方将进一步加深在产品、解决方案、渠道拓展等多方面的强强联合,为企业提供更加安全、高效的数据保护解决方案&#xf…

halcon 传统缺陷检测

一、电路检测 算子解释 dyn_threshold *dyn_threshold 利用局部阈值分割图像*OrigImage (input_object):原始图像*ThresholdImage (input_object):处理后图像(一般采用滤波处理)*RegionDynThresh (output_object)&#xff1…

GpuMall智算云:QwenLM/Qwen1.5/Qwen1.5-7B-Chat

Qwen 是阿里巴巴集团 Qwen 团队的大型语言模型和大型多模态模型系列,现在大型语言模型已经升级到 Qwen1.5 版本。 GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall,面向AI开发者的GPU云平台 无论是语言模型还是多模态模型,都在大规模的多语言和多模…

新楚文化知网收录文学艺术类期刊投稿

《新楚文化》是由国家新闻出版总署批准,湖北省文学艺术界联合会主管,湖北今古传奇传媒集团有限公司主办的正规期刊。主要刊登文化、文学、艺术类稿件;包括传统文化、非遗、历史文化、地方文化、中外友好文化交流、文学作品研究、艺术研究等方…

20240527每日前端-------聊聊前端input file 文件框“取消”按钮事件

文件选择窗口 正常我们使用input type"file"属性上传文件,会唤起系统的文件选择器如下: 打开按钮 可以通过change事件监听: // 增加的部分:创建 loading 实例变量 let loadingInstance;let box document.createEl…

流量分析入门

什么是流量分析 通过捕捉网络中流动的数据包,查看里面的数据和协议,流量分析和各种数据的统计来发现网络运行中的问题,在ctf中一般是一个包含流量数据的 PCAP 文件。 [陇剑杯 2021]签到 1.题目问我们正在进行的事什么协议的攻击 2.打开wire…

Spring Boot开发中常用注解总结【建议收藏】

Spring Boot 是一款非常流行的 Java 框架,其注解用法复杂而丰富。 在介绍 Spring Boot 的注解之前,我们需要先了解 Spring框架中的 AOP(面向切面编程)概念。 Spring 的 AOP 可以帮助开发者实现一些非业务功能的代码,如…

Vue3:封装Table 表格组件

组件官网 elementPlus : 点击跳转 封装组件 创建新的组件文件: Table.vue <!-- PropTableS &#xff1a; 父组件传递过来的数据 (对象)PropTableS.tables : 父组件传递的对象中 存放表格每行显示的数据PropTableS.keyS &#xff1a; 父组件传递过来的对象&#xff0c;里…

第十四 Elasticsearch介绍和安装

docker-compose安装 kibana: image: docker.elastic.co/kibana/kibana:7.5.1 container_name: kibana ports: - "5601:5601" environment: ELASTICSEARCH_HOSTS: http://elasticsearch:9200 depends_on: - elasticsearch…

所有平台均可发布,矩阵操作+工具+素材,自动混剪8090后怀旧视频

“怀旧”这个词对于80、90后来说&#xff0c;总能勾起一阵阵心中的涟漪。无论是那些留存在记忆深处的动画经典&#xff0c;还是代代相传的游戏主题曲&#xff0c;亦或是那个时代特有的玩具&#xff0c;都构成了他们共同的美好回忆。就像乘坐一艘穿梭机&#xff0c;怀旧视频能够…

Vectorworks 2024 Mac安装包下载Vectorworks 2024安装教程3D建模设计工具

安装 步骤 1&#xff0c;双击下载好的安装包&#xff0c;打开。 2&#xff0c;将G1DXHL.ldf拖到桌面上备用。 3&#xff0c;返回打开的镜像 选择install vectorworks2024 双击打开启动安装程序。电脑就90hi高腰腿疼痛和Y&Aaa9yY 4&#xff0c;输入电脑密码。 5&#xff0…

小短片创作-优化场景并输出短片(二)

1、什么是潮湿感 什么是潮湿感&#xff1a;基础颜色变化粗糙度变化表面渗入性 1.基础颜色变化&#xff1a;潮湿的地方颜色会变深 2.粗糙度变化&#xff1a;镜面粗糙度为0&#xff0c;潮湿的地方粗糙度会变低 3.表面渗入性&#xff1a;主要看材质是否防水 2、调整场景材质增…