微服务部署上线过程总结

目录

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

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

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 

五、域名配置 

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

 宝塔上线前后端项目操作

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue3学习笔记<->nginx部署vue项目(3)

安装nginx vue项目通常部署到nginx上,所以先安装一个nginx。为了方便安装的是windows版nginx,解压就能用。 项目参考上一篇文章《Vue3学习笔记<->创建第一个vue项目》《Vue3学习笔记<->创建第一个vue项目》…

微信视频号里面的视频怎么下载,分享4个视频号视频下载方法!可长期使用

如何在微信视频号里下载视频,虽然互联网上微信视频号视频下载方法千千万,奈何总有一些方法不起任何作用. 如何解决这一问题,今天就分享3个可以下载微信视频号的视频方法仅供参考。 1:提取器助手 手机搜索提取器助收/扫码获取视频号下载小助手二维码。该…

unity VR Interaction Framework 创建新手势

提示:文章有错误的地方,还望诸位大神不吝指教! 文章目录 前言一、新建物体,并添加必要组件二、添加抓取点三、查看手势的可视化样式四、制作新的手势1.点击编辑2.根据需求调节手指关节3.保存手势4. 使用创建的手势5.运行 总结 前言…

LangGPT:高质量提示词框架

题目:LangGPT: Rethinking Structured Reusable Prompt Design Framework for LLMs from the Programming Language作者: Ming Wang; Yuanzhong Liu; Xiaoming Zhang; Songlian Li; Yijie Huang; Chi Zhang; Daling Wang; Shi Feng; Jigang LiDOI: 10.48550/arXiv.2…

阿里云 CosyVoice 语音合成大模型 API 实践

前言 最近大模型这么火,就想着玩一下,作为非 AI 从业者,最好的方式就是调用云服务的 API 来构建自己的 AI 应用。首选当然是国外的 ChatGPT API,但是说实话那个玩意有点贵,而且最近国内也被封禁不让调用了&#xff0c…

docker-本地部署-后端

前置条件 后端文件 这边是一个简单项目的后端文件目录 docker服务 镜像文件打包 #命令行 docker build -t author/chatgpt-ai-app:1.0 -f ./Dockerfile .红框是docker所在文件夹 author:docker用户名chatgpt-ai-app:打包的镜像文件名字:1.0 &#…

事务的特性-原子性(Atomicity)、一致性(Consistency)、隔离性(Asolation)、持久性(Durability)

一、引言 1、数据库管理系统DBMS为保证定义的事务是一个逻辑工作单元,达到引入事务的目的,实现的事务机制要保证事务具有原子性、一致性、隔离性和持久性,事务的这四个特性也统称为事务的ACID特性 2、当事务保持了ACID特性,才能…

2, 搭建springCloud 项目 测试demo

上篇文章 新建了父依赖服务,这篇文章就建两个demo测试服务。 因为后面需要做服务间的通讯测试,所以至少需要建两个服务 建个子模块 同样的方式建连个demo服务 给java 和resources目录添加属性 在resources目录下建一个applications.yml文件,…

中小企业数字化转型如何选择适合自己的MES系统?

随着信息技术的飞速发展,数字化转型已成为中小企业提升竞争力、实现可持续发展的关键途径。在数字化转型过程中,制造执行系统(MES)作为连接企业资源计划(ERP)与车间现场管理的桥梁,扮演着至关重…

mac压缩解压工具:Keka for Mac 中文版下载

Keka是一个压缩软件,适用于macOS操作系统。它的界面友好,功能强大,可以帮助用户轻松地压缩和解压文件。以下是Keka的一些特点: 界面简洁:Keka的设计风格与macOS系统保持一致,操作界面简洁明了,…

【内网安全】组策略同步-不出网隧道上线-TCP转ICMP

目录 域控-防火墙-组策略对象同步演示1、打开组策略管理,新建一个GPO连接 取名fhq(防火墙)2、编辑fhq并设置防火墙状态3、命令:gpupdate/force 更新策略4、域控主机新增规则5、域内用户主机更新规则 域控-防火墙-组策略不出网上线演示 ICMP协议上线&…

任意密码重置漏洞

文章目录 1. 任意密码重置漏洞原理2. 任意密码重置漏洞产生原因3. 任意密码重置漏洞场景3.1 验证码爆破3.2 验证凭证回传3.3 验证凭证未绑是用户3.4 跳过验证步骤3.5 凭证可预测3.6 同时向多个账户发送凭证 4. 任意密码重置经典案例4.1 中国人寿某重要系统任意账户密码重置4.2 …

命令行中关于windows hash md5 , mac hash md5 , linux hash md5 文件校验方式

md5, sha-1 ,sha256. windows certutil -hashfile filename md5certutil -hashfile filename sha1certutil -hashfile filename sha256macos 平台 md5 filenameshasum -a 1 filenameshasum -a 256 filenamelinux 平台 md5sum filenameshasum -a 1 fil…

Windows平台使用S3Browser连接兼容的对象存储

本文记录了在Windows平台使用S3Browser连接兼容的对象存储的过程 一、安装S3Browser 1、下载 S3Browser官网:https://s3browser.com/ 直接下载:https://s3browser.com/download/s3browser-11-6-7.exe 2、安装 3、同意授权后确定安装目录 4、勾选立即…

VsCode:配置TypeScript开发环境

一、前提 电脑已经安装了npm 何如安装npm,请点击查看Node.js、npm常用命令、安装多个node版本 提醒:下文讲解操作是在mac 系统进行的,TypeScript简称:ts 二、安装TypeScript 在终端里执行命令:npm install -g typescr…

uni-appx使用form表单页面初始化报错

因为UniFormSubmitEvent的类型时 e-->detail-->value,然后没有了具体值。所以页面初始化的时候 不能直接从value取值,会报错找不到 所以form表单里的数据我们要设置成一个对象来存放 这个问题的关键在于第22行代码 取值: 不能按照点的方式取值 …

【CT】LeetCode手撕—300. 最长递增子序列

目录 题目1- 思路2- 实现⭐300. 最长递增子序列——题解思路 3- ACM 实现 题目 原题连接&#xff1a;300. 最长递增子序列 1- 思路 模式识别&#xff1a;最长递增子序列——> 利用动规五部曲 解决 ——> 借助 i 和 j 指针&#xff0c;其中 j < i 动规五部曲 1.定义…

Ubuntu安装、更新和删除软件

Ubuntu安装、更新和删除软件 问题命令行直接安装、更新和删除软件命令行直接安装软件命令行直接更新软件命令行直接删除软件 手动下载后命令行安装、更新和删除软件手动下载后命令行安装软件手动下载后命令行更新软件手动下载后命令行删除软件 手动下载后在桌面环境下安装、更新…

grpc学习golang版( 八、双向流示例 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件三、编写server服务端四、编写client客…

压缩pdf在线工具,压缩pdf大小的软件

如何有效地压缩PDF文件大小却是个问题&#xff0c;为了获得最佳的压缩效果&#xff0c;我们必须依赖专业的压缩工具&#xff0c;采用错误的方法可能会对文件内容产生负面影响&#xff0c;甚至导致文件无法打开&#xff0c;今天&#xff0c;我将分享一些独特的压缩技巧&#xff…