西湖区网站建设,网页传奇怎么开,移除wordpress4版本号,网站的代理页面怎么做的文章目录服务器编排一、mysql1. 创建挂载目录2. 赋予权限3. 运行容器4. 创建数据库5. 初始化脚本二、nacos-cluster2.1. 192.168.92.1292.2. 192.168.92.1322.3. 192.168.92.133三、nginx3.1. 运行临时容器3.2. 配置拷贝3.3. 删除临时容器3.4. 添加配置3.5. 运行容器四、验证和…
文章目录服务器编排一、mysql1. 创建挂载目录2. 赋予权限3. 运行容器4. 创建数据库5. 初始化脚本二、nacos-cluster2.1. 192.168.92.1292.2. 192.168.92.1322.3. 192.168.92.133三、nginx3.1. 运行临时容器3.2. 配置拷贝3.3. 删除临时容器3.4. 添加配置3.5. 运行容器四、验证和实战4.1. nacos控制台4.2. nginx验证4.3. 项目配置服务器编排
ip端口用途192.168.92.1298848nacos-cluster01192.168.92.1293306mysql192.168.92.12980nginx192.168.92.1328848nacos-cluster02192.168.92.1338848nacos-cluster03
一、mysql
1. 创建挂载目录
mkdir -p /app/mysql/data
mkdir -p /app/mysql/conf
mkdir -p /app/mysql/sql2. 赋予权限
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_PASSWORD123456 \
--restart always \
--privilegedtrue \
mysql:5.7mysql5.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 MODEcluster \
-e NACOS_APPLICATION_PORT8848 \
-e NACOS_SERVERS192.168.92.129:8848,192.168.92.132:8848,192.168.92.133:8848 \
-e SPRING_DATASOURCE_PLATFORMmysql \
-e MYSQL_SERVICE_HOST192.168.92.129 \
-e MYSQL_SERVICE_PORT3306 \
-e MYSQL_SERVICE_USERroot \
-e MYSQL_SERVICE_PASSWORD123456 \
-e MYSQL_SERVICE_DB_NAMEnacos_config \
-e NACOS_SERVER_IP192.168.92.129 \
-p 8848:8848 \
--name nacos-cluster8848 \
--restart always \
nacos/nacos-server:1.4.2192.168.92.132节点
2.2. 192.168.92.132
192.168.92.132节点
docker run -d \
-e MODEcluster \
-e NACOS_APPLICATION_PORT8848 \
-e NACOS_SERVERS192.168.92.129:8848,192.168.92.132:8848,192.168.92.133:8848 \
-e SPRING_DATASOURCE_PLATFORMmysql \
-e MYSQL_SERVICE_HOST192.168.92.129 \
-e MYSQL_SERVICE_PORT3306 \
-e MYSQL_SERVICE_USERroot \
-e MYSQL_SERVICE_PASSWORD123456 \
-e MYSQL_SERVICE_DB_NAMEnacos_config \
-e NACOS_SERVER_IP192.168.92.132 \
-p 8848:8848 \
--name nacos-cluster8848 \
--restart always \
nacos/nacos-server:1.4.22.3. 192.168.92.133
192.168.92.133节点
docker run -d \
-e MODEcluster \
-e NACOS_APPLICATION_PORT8848 \
-e NACOS_SERVERS192.168.92.129:8848,192.168.92.132:8848,192.168.92.133:8848 \
-e SPRING_DATASOURCE_PLATFORMmysql \
-e MYSQL_SERVICE_HOST192.168.92.129 \
-e MYSQL_SERVICE_PORT3306 \
-e MYSQL_SERVICE_USERroot \
-e MYSQL_SERVICE_PASSWORD123456 \
-e MYSQL_SERVICE_DB_NAMEnacos_config \
-e NACOS_SERVER_IP192.168.92.133 \
-p 8848:8848 \
--name nacos-cluster8848 \
--restart always \
nacos/nacos-server:1.4.2配置说明
docker run -d \ # -d表示是后台运行
-e MODEcluster \ # 以集群模式运行
-e NACOS_APPLICATION_PORT8846 \ # 这台Nacos服务的port是8846
-e NACOS_SERVERS192.168.92.129:8846,192.168.92.129:8847,192.168.92.129:8848 \ # Nacos集群的所有机器的信息
-e SPRING_DATASOURCE_PLATFORMmysql \ # 使用外置MySQL存储配置信息
-e MYSQL_SERVICE_HOST192.168.92.129 \ # 外置MySQL的IP
-e MYSQL_SERVICE_PORT3306 \ # 外置MySQL的port
-e MYSQL_SERVICE_USERroot \ # 外置MySQL的用户名
-e MYSQL_SERVICE_PASSWORD123456 \ # 外置MySQL的密码
-e MYSQL_SERVICE_DB_NAMEnacos_config \ # 外置MySQL的数据库也就是Nacos的配置文件要存储得到哪个数据库这个在单机版Nacos使用外置数据库时候介绍过
-e NACOS_SERVER_IP192.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.43.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.html3.3. 删除临时容器
docker rm -f nginx-tmp3.4. 添加配置
在/app/nginx/conf/挂载目录下新建 nacos.conf
cd /app/nginx/conf/
vim nacos.conf添加以下内容
upstream nacos {server 192.168.92.129:8848 weight1 max_fails2 fail_timeout10s;server 192.168.92.132:8848 weight1 max_fails2 fail_timeout10s;server 192.168.92.133:8848 weight1 max_fails2 fail_timeout10s;}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 \
--privilegedtrue \
--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-servserver-addr: 192.168.92.129:80