IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> docker nacos mysql nginx 集群多台 -> 正文阅读

[系统运维]docker nacos mysql nginx 集群多台

在这里插入图片描述

服务器编排
ip端口用途
192.168.92.1298848nacos-cluster01
192.168.92.1293306mysql
192.168.92.12980nginx
192.168.92.1328848nacos-cluster02
192.168.92.1338848nacos-cluster03
一、mysql
1. 创建挂载目录
mkdir -p /app/mysql/data
mkdir -p /app/mysql/conf
mkdir -p /app/mysql/sql
2. 赋予权限
chmod -R 777 /app/mysql/
3. 运行容器
  • mysql5.7
docker run --name mysql5.7 -d \
-p 3306:3306 \
-v /app/mysql/conf:/etc/my.cnf.d \
-v /app/mysql/logs:/logs \
-v /app/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart always \
--privileged=true \
mysql:5.7
  • mysql5.8
    创建方式有很多种,请参考以下博客,任选其中一种即可
    docker mysql:8.0.27
4. 创建数据库

创建nacos_config,

5. 初始化脚本

数据库初始化脚本:
https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql

二、nacos-cluster
  • 192.168.92.129节点
2.1. 192.168.92.129
docker run -d \
-e MODE=cluster \
-e NACOS_APPLICATION_PORT=8848 \
-e NACOS_SERVERS=192.168.92.129:8848,192.168.92.132:8848,192.168.92.133:8848 \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.92.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e NACOS_SERVER_IP=192.168.92.129 \
-p 8848:8848 \
--name nacos-cluster8848 \
--restart always \
nacos/nacos-server:1.4.2
  • 192.168.92.132节点
2.2. 192.168.92.132
  • 192.168.92.132节点
docker run -d \
-e MODE=cluster \
-e NACOS_APPLICATION_PORT=8848 \
-e NACOS_SERVERS=192.168.92.129:8848,192.168.92.132:8848,192.168.92.133:8848 \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.92.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e NACOS_SERVER_IP=192.168.92.132  \
-p 8848:8848 \
--name nacos-cluster8848 \
--restart always \
nacos/nacos-server:1.4.2
2.3. 192.168.92.133
  • 192.168.92.133节点
docker run -d \
-e MODE=cluster \
-e NACOS_APPLICATION_PORT=8848 \
-e NACOS_SERVERS=192.168.92.129:8848,192.168.92.132:8848,192.168.92.133:8848 \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.92.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e NACOS_SERVER_IP=192.168.92.133 \
-p 8848:8848 \
--name nacos-cluster8848 \
--restart always \
nacos/nacos-server:1.4.2
  • 配置说明:
docker run -d \ # -d表示是后台运行
-e MODE=cluster \ # 以集群模式运行
-e NACOS_APPLICATION_PORT=8846 \ # 这台Nacos服务的port是8846
-e NACOS_SERVERS=192.168.92.129:8846,192.168.92.129:8847,192.168.92.129:8848 \ # Nacos集群的所有机器的信息
-e SPRING_DATASOURCE_PLATFORM=mysql \ # 使用外置MySQL存储配置信息
-e MYSQL_SERVICE_HOST=192.168.92.129 \ # 外置MySQL的IP
-e MYSQL_SERVICE_PORT=3306 \ # 外置MySQL的port
-e MYSQL_SERVICE_USER=root \ # 外置MySQL的用户名
-e MYSQL_SERVICE_PASSWORD=123456 \ # 外置MySQL的密码
-e MYSQL_SERVICE_DB_NAME=nacos_config \ # 外置MySQL的数据库,也就是Nacos的配置文件要存储得到哪个数据库,这个在单机版Nacos使用外置数据库时候介绍过
-e NACOS_SERVER_IP=192.168.92.129 \ # 这台Nacos服务的IP
-p 8846:8846 \ # 容器外部端口映射
--name nacos8846 \ # 给容器起个名字吧
--restart always \ #重启docker 容器自动启动
nacos/nacos-server:1.4.2 # 运行哪个镜像

常见坑点:官网使用的是NACOS_SERVER_PORT,对于nacos/nacos-server:1.3.2镜像,自定义Nacos端口号的时候,不要使用NACOS_SERVER_PORT,要使用NACOS_APPLICATION_PORT!因为conf/application.properties里写了。

在这里插入图片描述

三、nginx

由Nginx进行转发(nginx下部署了3台Nacos集群)配置文件自行修改

  • 192.168.92.129节点
3.1. 运行临时容器

-目的,为了复制nginx容器内部的配置文件

mkdir /app/nginx/conf/ /app/nginx/dist -p
chmod 777 /app/nginx -R
docker run \
-d \
--name nginx-tmp \
-p 80:80 \
nginx:1.21.4
3.2. 配置拷贝
docker cp nginx-tmp:/etc/nginx/conf.d/default.conf /app/nginx/conf/default.conf
docker cp nginx-tmp:/usr/share/nginx/html/index.html /app/nginx/dist/index.html
3.3. 删除临时容器
docker rm -f nginx-tmp
3.4. 添加配置

在/app/nginx/conf/挂载目录下新建 nacos.conf

cd /app/nginx/conf/
vim nacos.conf

添加以下内容:

upstream nacos {
        server 192.168.92.129:8848 weight=1 max_fails=2 fail_timeout=10s;
        server 192.168.92.132:8848 weight=1 max_fails=2 fail_timeout=10s;
        server 192.168.92.133:8848 weight=1 max_fails=2 fail_timeout=10s;
    }

    server{
        listen  80;
        server_name 192.168.92.129;
        location / {
            proxy_pass http://nacos;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header REMOTE-HOST $remote_addr;
            add_header X-Cache $upstream_cache_status;
            add_header Cache-Control no-cache;
        }
    }
3.5. 运行容器

这是在咱们生产真正的nginx容器

docker run \
-d \
--name nginx \
-p 80:80 \
-v /app/nginx/dist:/usr/share/nginx/html:ro \
-v /app/nginx/conf:/etc/nginx/conf.d \
--privileged=true \
--restart always \
nginx:1.21.4
四、验证和实战
4.1. nacos控制台

http://192.168.92.129:8848/nacos
http://192.168.92.132:8848/nacos
http://192.168.92.133:8848/nacos

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.2. nginx验证

这是nginx端口是80
http://192.168.92.129/nacos/
在这里插入图片描述

4.3. 项目配置
server:
  port: 8000
spring:
  cloud:
    nacos:
      discovery:
        service: order2-serv
      server-addr: 192.168.92.129:80

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 17:10:50  更:2021-12-02 17:11:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:24:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码