码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 微服务部署上线过程总结


    目录

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

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

    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)上传到服务器并安装

    无脑安装:

    1. 进入目录 你放安装包的目录
    2. cd /www/server/Nacos
    3. 解压
    4. tar -xvf nacos-server-2.2.0.tar.gz
    5. 删除安装包
    6. rm -rf nacos-server-2.2.0.tar.gz
    7. 进入目录
    8. cd /www/server/Nacos/nacos/bin
    9. 运行 单机部署
    10. sh startup.sh -m standalone
    11. 关闭
    12. sh shutdown.sh #查看nacos运行状态
    13. ps -ef | grep nacos #查看日志
    14. 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的内容复制过来,然后改一下数据库的地址,是线上数据库地址,例如:

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

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

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

    1. @Configuration
    2. @ConfigurationProperties(prefix = "spring.redis")
    3. @Data
    4. public class RedissonConfig {
    5. private String host;
    6. private String port;
    7. private Integer database;
    8. private String password;
    9. @Bean
    10. public RedissonClient redissonClient(){
    11. Config config = new Config();
    12. config.useSingleServer()
    13. .setDatabase(3)
    14. .setAddress("redis://"+host+":"+port)
    15. .setPassword(password);
    16. RedissonClient redissonClient = Redisson.create(config);
    17. return redissonClient;
    18. }
    19. }

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

    四、部署前端

    前端部署也如教程操作:

    宝塔上线前后端项目操作

    下一步: 

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

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

    五、域名配置 

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

     宝塔上线前后端项目操作

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

  • 相关阅读:
    面试:ReentrantLock对比Synchronized
    基于vue springboot的前后端分离的化妆品商城
    【ansible第二次作业】
    测试ForOf会不会多次调用函数2208082050
    【Exception】Error: Dynamic require of “path“ is not supported
    传言称 iPhone 16 Pro 将支持 40W 快速充电和 20W MagSafe
    Ai版式设计类型 优漫动游
    算法入门篇-STL之Vector,Stack,Queue,list
    【干货】前后端分离怎么部署?
    使用veth和bridge模拟容器网络
  • 原文地址:https://blog.csdn.net/m0_57209427/article/details/140053423
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号