提示:仅供参考,请按实际情况操作
文章目录
一、环境配置
1.配置清单
虚拟机 | 指定端口 | 服务组件 |
192.168.1.101 | 8848 3306 8090 | Nacos Mysql Nginx |
192.168.1.102 | 8848 3306 | Nacos Mysql |
192.168.1.103 | 8848 | Nacos |
2.组件配置
jdk-11.0.12_linux-x64_bin.tar.gz
nacos-server-2.2.2.tar.gz
docker pull mysql:5.7
docker pull nginx:1.24.0
二、部署安装
jdk11下载安装(分别在101,102,103上安装)
1.安装包下载
官网下载
网盘下载
百度网盘链接:https://pan.baidu.com/s/1FIn2IcfXPWflCSw5uvR6kw 提取码:v9o7
2.配置安装
2.1.将jdk压缩包放在指定目录并解压
# 解压
tar -zxvf jdk-11.0.12_linux-x64_bin.tar.gz
# 看自己需求是否进行安装包删除 rm -rf jdk-11.0.12_linux-x64_bin.tar.gz
2.2.设置环境变量
vim /etc/profile
在末尾添加如下内容:
export JAVA_HOME=/usr/mydata/jdk-11.0.12
export PATH=${JAVA_HOME}/bin:$PATH
2.3.让修改生效: source /etc/profile
2.4.验证:java -version
mysql下载安装(分别在101,102上安装)
采用docker下载安装的方式进行
1.查找镜像 :docker search mysql
2.拉取镜像 :docker pull mysql:5.7
3.运行容器:
docker run -p 3306:3306 --name mysql --memory 4G -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
4.运行成功进入容器验证
docker exec -it mysql /bin/bash #进入容器
mysql -u root -p #输入密码123456 登录
nacos下载安装(分别在101,102,103上安装)
1.安装包下载
官网下载:https://github.com/alibaba/nacos/releases
2.配置安装
上传nacos压缩包至虚拟机指定目录(本文一律放置/usr/mydata/)
2.1解压并添加nacos表结构到mysql
解压:tar -zxvf nacos-server-2.2.2.tar.gz /usr/mydata/
复制mysql-schema.sql,到MySQL客户端执行插入语句
文件位置:/usr/mydata/nacos/conf/mysql-schema.sql
进入容器:docker exec -it mysql /bin/bash
登录:mysql -u root -p #输入密码123456 登录
登录启动成功,新建nacos_config数据库
添加nacos表结构(复制mysql-schema.sql,到MySQL客户端执行插入语句)
2.2修改配置
2.2.1设置主机hosts文件(添加主机/etc/hosts进行解析)
vim /etc/hosts
修改内容如下:(:qw!保存并退出)
192.168.1.101 nacos1
192.168.1.102 nacos2
192.168.1.103 nacos3
2.2进入nacos文件夹
复制修改cluster.conf.example 为cluster.conf
cp cluster.conf.example cluster.conf
修改内容如下:(:qw!保存并退出)
server 192.168.1.101:8848
server 192.168.1.102:8848
server 192.168.1.103:8848
2.3修改nacos/conf/application.properties服务配置
vim /usr/mydata/nacos/conf/application.properties
修改内容如下:(:qw!保存并退出)
### Specify local server's IP:
nacos.inetutils.ip-address=192.168.1.101 #在102,103虚拟机对应修改ip
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
spring.datasource.platform=mysql
# spring.sql.init.platform=mysql
db.url.0=jdbc:mysql://192.168.1.101:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.url.1=jdbc:mysql://192.168.1.102:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
#启动服务 /usr/mydata/nacos/bin/startup.sh
#暂停服务 /usr/mydata/nacos/bin/shutdown.sh
#查看日志 tail -f /usr/mydata/nacos/logs/start.out
# 验证,在浏览器中打开地址:http://虚拟机ip:8848/
在虚拟机101上安装nginx
1.拉取镜像
docker pull nginx:1.24.0
2.启动容器
docker run -p 8090:8090 --name nginx --restart=always -d nginx:1.24.0
3.创建挂载目录
mkdir -p /usr/mydata/docker-nginx/logs
mkdir -p /usr/mydata/docker-nginx/html
mkdir -p /usr/mydata/docker-nginx/conf
4.复制容器文件到挂载目录
docker cp nginx:/etc/nginx/nginx.conf /usr/mydata/docker-nginx/
docker cp nginx:/etc/nginx/conf.d/. /usr/mydata/docker-nginx/conf/
docker cp nginx:/usr/share/nginx/html/. /usr/mydata/docker-nginx/html/
docker cp nginx:/var/log/nginx/. /usr/mydata/docker-nginx/logs/
修改配置
vim /usr/mydata/docker-nginx/nginx.conf
修改为以下内容:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
upstream server_nacos {
server 192.168.1.102:8848;
server 192.168.1.102:8848;
server 192.168.1.103:8848;
}
server {
listen 8090;
server_name localhost;
location /nacos/ {
proxy_pass http://server_nacos/nacos/;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
}
5.暂停容器服务 docker stop nginx
6.删除容器 docker rm nginx
7.重新启动容器
docker run -p 8090:8090 \
-v /usr/sgtTest/docker-nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/sgtTest/docker-nginx/logs:/var/log/nginx \
-v /usr/sgtTest/docker-nginx/html:/usr/share/nginx/html \
-v /usr/sgtTest/docker-nginx/conf:/etc/nginx/conf.d \
--name nginx \
--restart=always \
-d nginx:1.24.0
9.服务验证
http://192.168.1.101:8090/nacos/