react+springBoot 项目部署到腾讯云

react+springBoot 项目部署到腾讯云,第1张

本文主要介绍如何搭建个人网站,并将项目部署到腾讯云。
前端:React,
后端:SpringBoot,
云服务:centos7

建议使用create-react-app创建react项目包,简单快捷。

进入项目路径,开始运行

直接使用项目自身的build指令进行打包,完成后会在项目根目录多出一个build文件夹

build文件中包含项目打包后的js、css、html等资源。下一步的部署,就是将这一build文件上传到云服务器,并通过nginx指向build。

将上一过程中的build文件上传到云服务器,推荐使用ForkLift, 使用教程 。

进入云服务器,找到nginx文件,修改root指向build路径, nginx配置教程 。

上述 *** 作完成后,打开域名后,页面即为react项目的首页。

建议使用idea进行springboot项目的开发(专业的事情交给专业的工具,简单些)。

idea搭建一个springboot项目

mysql: 官方地址
mysql管理工具Navicat: 官网地址
如果本地不想安装mysql,也可以直接在服务器上进行安装,然后在本地访问, 服务器安装mysql并实现远程访问 。

将本地springboot项目打包后,上传到云服务器并启动, Spring boot项目部署到腾讯云服务器 。
关于项目的启动并保持一致运行:可以在控制台输入

回车,nohup命令可以让你的shell命令忽略SIGHUP信号,即可以使之脱离终端运行;“&”可以让你的命令在后台运行。

至此,前后端项目都已安装在云服务器上。

原文地址: react+springBoot 项目部署到腾讯云

h5好像只是前端吧,使用>

后端需要看你使用的什么语言编写的,java的通常就是java-jar命令,nodejs的也是使用对应的node命令启动后端服务。

在云计算、云服务器部署的背景下,客户端和服务器之间的信息结构的内容。

MySQL的客户端/服务器架构:

mysql客户端服务端场景:

a启动MySQL服务器程序 b启动MySQL客户端程序并连接到服务器程序。 c在客户端程序中输入一些命令语句作为请求发送到服务器程序,服务器程序收到这些请求后,会根据请求的内容来 *** 作具体的数据并向客户端返回 *** 作。

RabbitMQ是AMQP的实现成果,所以在研究RabbitMQ之前,不如先看看协议本身1Overview概述11GoalsofThisDocument文档目标本文档定义了网络协议AMQP,客户端可以使用该协议与消息中间件服务器进行通信我们面向的是在本领域有一定经验的技术人员,我们会提供充分的用于客户端浏览器和web服务器之间的通讯,实现数据信息在客户端和web服务器之间的加密传输,可以防止数据信息的泄露。为提高安全性,建议替换成自己的证书,并及时更新证书,保证证书的有效性。

我是使用我的腾讯云轻量应用服务器做的本次实战

( *** 作系统:CentOS 76 64bit)

(主机规格:CPU: 4核 内存: 4GB)这个配置起前端有点带不动-_-,建议8G内存,这个问题我反复测试很多次。一跑npm 就开始疯狂占资源,然后 *** 作系统内存不够直接把jenkins的进程都给杀了。所以如果你也是4g或者2g内存,尽量不要有其他多余的应用或者容器在机器上运行。

启动:

a与b的结果都是将jenkins启动,也是我们的目标,本篇文章采用war包方式,也建议war包的方式,docker启的话,里面jdk是11,而我机器的jdk是8,同时项目jdk也是8,换11的话,天知道会出什么问题。 启动之后,访问一下,上述例子中我映射了7999端口,同时我的腾讯云防火墙也开放了7999这个端口,下面是访问图例:

根据提示粘贴密码,如果是war包启动的就直接复制页面提示的路径就可以,输入命令,即得密码

如果是docker启动的,上面的-v挂载了一个路径 /jenkins-data 这里面的文件就是容器里jenkins_home里面的文件,故路径就变成了

随后,输入得到的密码,进入,选择安装推荐的插件

接下来,就等待机器安装,然后创建第一个账户,然后jenkinsURL默认是啥就是啥(反正可以改的),可能会提示重启,如果没有不管。进入jenkins

到这里,先停一下。右上角红色的1不管。

装插件: (系统管理)Manage System -> (插件管理)Manage Plugins -> (可选的插件)Available,在 Filter 中搜索 Gitee,Jersey2 API这两个插件,然后分别选中,然后点install without restart。

等待安装完毕即可。

之后,就是配置gitee了

系统管理—>系统配置---->gitee配置

在 链接名 中输入 Gitee 或者你想要的名字

Gitee 域名 URL 中输入码云完整 URL地址: >简述:Spring boot+Vue 前后端分离项目部署,主要采用docker容器部署方式。

Springboot项目部署:docker构建mysql环境+docker构建项目自身环境。

Vue项目:使用docker启动nginx服务器方式代理部署。

项目使用mysql80作为数据源,所以部署时需要使用docker构建mysql环境及项目自身环境。

连接出现1251错误时:

首先将项目进行打包:mumu-001-SNAPSHOTjar

到此,springboot项目采用docker方式运行部署结束。

使用docker容器方式运行nginx服务器。

对于nginx服务器,重要的两个 *** 作是:

所以我们在配置启动nginx容器的时候,需要将对应的目录及文件进行宿主机挂载,方便后续更新资源及 *** 作

启动命令:

没有具体需求其实很难明确方案。

集群是为了服务高可用,因为没有具体需求,我只能理解为集群和前端如何布置并没有直接关联了。

那么如果前端如果布置,就具体看前端访问量了,如果单机nginx无法负载,最廉价的方式就是直接扔文件服务器(比如阿里的oss)并且挂载域名,之后的事就交给阿里吧,如果瓶颈存在与通过ws或者aj与服务器的交互上,那应该在负载均衡这一层处理了

1单体项目是否需要采用docker进行部署
2如果采用docker部署是否有必要采用docker-compose进行服务编排?

答案是也许有必要,也许没必要,docker的优势很多,但是对于垂直架构的项目优势未必那么明显,总之一句你需要根据自己的项目情况去考虑。笔者之所以会写这篇文章,大概率是基于省事的目的去部署一些小的项目。同时也是提供一种前后端分离的项目的部署方案(但绝对不是最有方案),以及在这种模式下的docker如何去工作才能达到我们的目的。

然而最终的目的是为了偷懒,省事。让前后端分离项目的部署方式变的简单。就也许在这种模式下,你只需要5分钟就可以实现部署,或许吧,不妨把这个当作一个目标。

本文目标:

上图将部署流程分为三部分,本地开发环境,阿里云容器镜像服务,以及linux服务器。下面分成三个部分对上图进行说明,工欲善其事,必先利其器。先进行说明,后面才能对每部分做的工作比较清晰。

本地开发环境分成三个项目

先解释一下图中的相关名词

容器镜像服务,分门别类的存储我们的镜像 。这个是镜像服务的唯一用途,就相当于maven的仓库是一样的。

我们也可以搭建自己的私服仓库,例如开源的harbor等,都非常好用,在企业中用私服会比较多。

首先我们需要在linux服务器上搭建Docker环境,也就是我们在linux上有一个docker。再将我们的镜像运行在docker上。

从上图我们发现在docker上运行这很多容器,mysql,redis,nginx,pitaya-java,pitaya-admin,pitaya-h5

然而我们的容器是需要通信的,例如:大家都知道pitaya-java是一个springboot的项目,他需要访问mysql进行数据存储服务,需要访问redis缓存我们的令牌信息等。

也就是说,我们运行的这些容器之间是要相互能通信的。所以我们在docker上创建了一个内部网络叫做pitaya-network,他在172200这个网段,我们需要我们的容器都加入pitaya-network这个网络,并且分配固定的IP地址,指定固定端口。

为什么需要分配固定IP地址,指定固定端口 因为我们的容器也可能会和服务器一样,会挂掉,如果随机分配的话,创建新的容器,IP地址可能会变,我们容器间不能通信,例如java服务访问不了mysql,这样我们的线上就无法提供客户正常服务了。

本文我们做一个大概的概述,针对上面的结构以下问题是我们急需解决的?

其实针对java项目和vue项目制作镜像方式不同,但是原理一样,原理无非就是基于docker build这个命令制作镜像,但是java的镜像制作和推送可能更加简单,只需要一条命令即可,因为maven提供了制作镜像的插件。这些内容在下一篇文章都会涉及到!

想要表达清楚一键事情是非常不容易的事情,特别是通过文字,既不想废话连篇,又想表达清楚真的很难,因为细节比较多!然而我觉得弄清楚大方向是非常必要的,然后再进行分解,希望能说的明白,我会加油的,如果写的不好也希望大家原谅!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12980775.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-29
下一篇2025-08-29

发表评论

登录后才能评论

评论列表(0条)

    保存