微服务部署上线过程总结

news2024/11/24 2:38:53

目录

一、找到适合自己的部署方式 

二、开始部署,先安装需要的环境 

2.1 梳理一下都需要安装什么软件

2.2 配置数据库环境

2.3 配置redis 

2.4 配置nacos

2.5 配置rabbitmq

2.6 配置docker环境 

三、环境配置好了,开始部署后端 

3.1 梳理后端都有什么端口

3.2 部署后端

3.3 部署后端之前的项目配置

四、部署前端

五、域名配置 


一、找到适合自己的部署方式 

  我使用的是宝塔linux部署,但是宝塔安装rabbitmq无法启动(暂时不知道什么原因),所以我最后选择在centos中部署项目。

选择centos部署的原因:

  centos中原生部署有点麻烦,我选择在centos中安装了一个宝塔来部署,至于为什么我选择在centos中安装宝塔,是因为我宝塔启动不了rabbitmq,所以我打算在centos中安装rabbitmq,其他的软件都在宝塔安装就好了。(哈哈哈 投机取巧)

二、开始部署,先安装需要的环境 

   我使用的是腾讯云,在腾讯云买了一个2核8g的服务器,安装的是centos7.6的系统。

   接下来就需要在centos中安装宝塔了,安装宝塔的详细步骤如下,跟着来就行了!

   CentOS宝塔搭建(超详细)

   宝塔搭建好了,就看下面步骤吧!!! 

2.1 梳理一下都需要安装什么软件

1. 需要数据库mysql8

2. 需要redis做缓存

3. 需要nacos做服务中心

4. 需要rabbitmq做消息队列

5. 我有个代码沙箱,所以还需要个docker 

2.2 配置数据库环境

跟着我这篇博客一步一步来就好了,很简单 

宝塔面板安装MySQL8数据库 

2.3 配置redis 

宝塔安装redis并且远程连接redis教程跟着我这篇博客一步一步来就好了,很简单 

宝塔安装redis并且远程连接redis教程 

2.4 配置nacos

(1) 下载安装包

我需要2.2.0版本的,你需要什么版本自己去springcloud官网查看就行 

地址 :http://https: github.com/alibaba/nacos/releases

(2) 版本要选2.2.0.tar.gz

(3)上传到服务器并安装

无脑安装:

进入目录 你放安装包的目录
cd /www/server/Nacos
解压
tar -xvf nacos-server-2.2.0.tar.gz
删除安装包
rm -rf nacos-server-2.2.0.tar.gz
进入目录
cd /www/server/Nacos/nacos/bin
运行 单机部署
sh startup.sh -m standalone
关闭
sh shutdown.sh #查看nacos运行状态
ps -ef | grep nacos #查看日志
cat /www/server/Nacos/nacos/logs/start.out

 (4)防火墙开放8848端口,本地连接http: ip:8848/nacos/index.html,看看是否能够连接。切记服务器的防火墙的也要放行。账号:nacos 密码:nacos

 (5)如果服务器内存不够也可以修改,nacos启动占用的内存。默认是:-Xms512m -Xmx512m -

Xmn256m 查看教程: https: blog.csdn.net/weixin_48016395/article/details/124239230

 

2.5 配置rabbitmq

跟着教程无脑操作吧 

Centos7安装配置RabbitMQ 

2.6 配置docker环境 

这里这个docker我配置在了另一个服务器上,另一个服务器是2核2g的,用的是ubuntu系统,

我弄完系统直接就是apt install docker.io了,然后配了个jdk1.8(因为要启动java)

 如果你想用centos配也行,下面教程无脑操作就行了

Centos7安装docker详细教程

三、环境配置好了,开始部署后端 

3.1 梳理后端都有什么端口

网关服务 8101端口
用户服务 8102端口
题目服务 8103端口
判题服务 8104端口

代码沙箱服务 8090端口

3.2 部署后端

给每个项目进行打包,然后都上传到服务器上

然后部署后端教程如下:

宝塔上线前后端项目操作 

每个项目都像教程里部署好,因为环境已经安装完成了,接下来的挨个启动项目,如果启动失败,就点进去查看日志,如图所示

3.3 部署后端之前的项目配置

 给每个需要启动的项目配置一个新的yml,这个yml设置为application-prod.yml,prod是用于生产环境启动的配置,这个配置可以把之前yml的内容复制过来,然后改一下数据库的地址,是线上数据库地址,例如:

  # 数据库配置
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://线上地址/数据库名字
    username: root
    password: root

然后需要改rabbitmq的用户名和密码,如果你的rabbitmq用户名和密码自己改了的话

接着如果你的redis配置了密码的话 也需要改。如果你还用了redisson那你redisson也需要加入密码:

@Configuration
@ConfigurationProperties(prefix = "spring.redis")
@Data
public class RedissonConfig {

    private String host;
    private String port;
    private Integer database;
    private String password;

    @Bean
    public RedissonClient redissonClient(){
        Config config = new Config();
        config.useSingleServer()
                .setDatabase(3)
                .setAddress("redis://"+host+":"+port)
                .setPassword(password);
        RedissonClient redissonClient = Redisson.create(config);
        return redissonClient;
    }
}

 这样应该就差不多了,都配置好之后直接打包就可以了。

四、部署前端

前端部署也如教程操作:

宝塔上线前后端项目操作

下一步: 

如果你部署前端的时候nginx报错了,那就请看这个博客:

宝塔nginx部署前端页面刷新报404 

五、域名配置 

 域名配置也如教程操作:很简单

 宝塔上线前后端项目操作

到这里应该就没什么问题了,我这个是给自己写的笔记,随便记一下过程,如果对你有帮助的话,就给我来个三连吧,如果你还有问题就请在评论区留言,我回复很快的哦! 

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

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

相关文章

佛山禅城电脑城维修1台联想3650M5服务器 黄灯故障

佛山禅城一同行客户通过CSDN找到我们,经过对接,确认好服务器型号,和服务器大致故障,跟客户仔细的分析了引起故障大致的原因和解决的方式方法后,经过商务沟通,该同行考虑由我们安排工程师带配件到佛山禅城电…

光伏设计:光伏项目开发中最关键的一环

随着全球对可再生能源的需求不断增长,光伏技术作为其中的佼佼者,已经成为许多国家实现能源转型和应对气候变化的重要手段。在光伏项目的开发过程中,光伏设计作为最关键的一环,其重要性不言而喻。本文将从光伏设计的角度&#xff0…

【自然语言处理系列】手动安装和测试Spacy中en_core_web_sm模型的详细教程

摘要:本教程旨在为自然语言处理(NLP)初学者提供一个详细的指南,用于手动安装流行的NLP库Spacy及其英语模型en_core_web_sm。文章将逐步指导您如何安装Spacy库、查看其版本,确定并下载适合的en_core_web_sm模型版本&…

深度之眼(二十七)——神经网络基础知识(二)

文章目录 一、反向传播1.1 梯度下降法1.2 学习率 二、损失函数2.1 两种常见的损失函数2.2 CE(交叉熵)2.3 其他的损失函数和网址 三、权值初始化3.1 自适应标准差:自适应方法随机分布中的标准差 四、正则化方法4.1 过拟合、方差、偏差、噪声4.…

Redis主从复制、哨兵以及Cluster集群

1.Redis高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供…

嵌入式Linux的浮点运算能力测试

嵌入式Linux的浮点运算能力测试 今天需要对一款ARM CPU的浮点数运算能力进行测试,采用了台式机上常用的SuperPI相同的原理:计算一定小数位数的圆周率来测试硬件的浮点数计算能力和稳定性。 首先下载计算软件的源代码,可以使用下面命令&#…

阿里云常用的操作

阿里云常见的产品和服务 容器服务 可以查看容器日志、监控容器cpu和内存, 日志服务 SLS 可以查看所有服务的日志, Web应用防火墙 WAF 可以查看 QPS. 阿里云查看集群: 点击 “产品和服务” 中的 容器服务,可以查看 集群列表&…

Labview_Occurrencel(事件发生)

PS:这里遇到 一个很Low的事情: 在停止第二个while循环的时候出现了停止不了的情况。因为等待事件发生设置的超时时间为:-1。所以等事件发生后出现了条件接线端已经执行的情况,所以当下次事件发生时未能及时停止。初版的停止设置如下图&#x…

Raylib学习-鼠标检测与GPU缓冲区使用

鼠标左键点击运行绘制 #include <raylib.h>int main() {const int screenWidth 800;const int screenHeight 450;InitWindow(screenWidth, screenHeight, "test"); // 设置帧率SetTargetFPS(150); // 设置一个画布&#xff0c;可以使用GPU进行绘制RenderText…

【深度学习】单机多卡 | DataParallel将计算任务在多个 GPU 上并行执行,可以在多个 GPU 上分摊工作负载,从而加快训练速度

【深度学习】单机多卡 | DataParallel将计算任务在多个 GPU 上并行执行&#xff0c;可以在多个 GPU 上分摊工作负载&#xff0c;从而加快训练速度 写在最前面DataParallel (DP) 简介使用 DataParallel 的场景使用 DataParallel 的基本步骤 代码部分train.py简单的代码示例代码解…

ffmpeg使用png编码器把rgb24编码为png图像

version #define LIBAVUTIL_VERSION_MAJOR 58 #define LIBAVUTIL_VERSION_MINOR 12 #define LIBAVUTIL_VERSION_MICRO 100 note 不使用AVOutputFormat code void CFfmpegOps::EncodeRGB24ToPNG(const char *infile, const char *width_str, const char *height_str, c…

什么是ArchiMate?有优缺点和运用场景?

一、什么是ArchiMate? ArchiMate是一种由The Open Group发布的企业级标准&#xff0c;它是一种整合多种架构的可视化业务分析模型语言&#xff0c;也属于架构描述语言&#xff08;ADL&#xff09;。ArchiMate主要从业务、应用和技术三个层次&#xff08;Layer&#xff09;&…

基于MATLAB对线阵天线进行道尔夫—切比雪夫加权

相控阵天线——基于MATLAB对线阵进行道尔夫—切比雪夫加权 目录 前言 一、阵列天线的综合 二、道尔夫—切比雪夫综合 三、单元间距的改变对切比雪夫阵列方向图的影响 四、单元数的改变对切比雪夫阵列激励分布的影响 五、副瓣电平SLL对切比雪夫阵列激励幅度的影响 六、副…

双路视频同屏显示(拼接)-基于野火Zynq7020开发板

前情提要 米联客FDMA驱动OV5640摄像头—基于野火Zynq7020开发板 本文在此基础上&#xff0c;实现了双路视频拼接。将ov5640输出的1024600的图像数据缩放为512600&#xff0c;分两路写入ddr3&#xff0c;并且显示在1024*600的RGB屏幕中。 纯FPGA也可以按此方法实现。 总体BLOC…

MySQL高级-SQL优化-小结

文章目录 1、insert 优化2、主键优化3、order by 优化4、group by 优化5、limit 优化6、count 优化7、update 优化 1、insert 优化 insert&#xff1a;批量插入、手动控制事务、主键顺序插入 大批量插入&#xff1a;load data local infile 2、主键优化 主键长度尽量短、顺序插…

遥感数据并行运算(satellite remote sensing data parallell processing)

文章内容仅用于自己知识学习和分享&#xff0c;如有侵权&#xff0c;还请联系并删除 &#xff1a;&#xff09; 之前不太会用&#xff0c;单纯想记录一下&#xff0c;后面或许还会用到 1. 教程 [1] Pleasingly Parallel Programming: link 1.1 处理器&#xff0c;核和线程 …

基于多模态知识图谱的多模态推理-MR-MKG

MR-MKG论文中提出了一种新的多模态推理方法&#xff0c;即利用多模态知识图&#xff08;Multimodal Knowledge Graph, MMKG&#xff09;进行多模态推理的方法。这种方法旨在通过从MMKG中学习&#xff0c;扩展大型语言模型&#xff08;LLMs&#xff09;的多模态知识。 1 三个模…

【AUTOSAR 基础软件】DEM模块详解(诊断故障管理)

文章包含了AUTOSAR基础软件&#xff08;BSW&#xff09;中DEM模块相关的内容详解。本文从ISO标准&#xff0c;AUTOSAR规范解析&#xff0c;ISOLAR-AB配置以及模块相关代码分析四个维度来帮读者清晰的认识和了解DEM这一基础软件模块。文中涉及的ISOLAR-AB配置以及模块相关代码都…

深度相机识别物体——实现数据集准备与数据集分割

一、数据集准备——Labelimg进行标定 1.安装labelimg——pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple 2.建立相应的数据集存放文件夹 3.打开labelimg&#xff0c;直接在命令行输入labelimg即可&#xff0c;并初始化 4.开始标注&#xff0c;设置标注好…

[Cloud Networking] VLAN

1 为什么需要 VLAN(Virtual Local Area Network) VLAN是一个逻辑网络&#xff0c;VLAN将设备/用户进行逻辑分组&#xff0c;VLAN需要在Switch上创建。为什么需要这样呢&#xff1f;为何不能所有设备都在同一个网络&#xff1f; 如下网络&#xff0c;如果设备过多&#xff0c;…