做网站和平台多少钱,零代码建站平台,网店推广软件有哪些,北京移动网站建设公司排名单机部署
1- 拉取镜像
docker pull nacos/nacos-server:v2.2.02- 准备挂载的配置文件目录和日志目录
日志目录(空目录)#xff1a;./nacos/logs配置文件#xff1a;./nacos/conf/application.properties
从官网下载 nacos 压缩包#xff1a;Release 2.2.0 (Dec 14, 2022…单机部署
1- 拉取镜像
docker pull nacos/nacos-server:v2.2.02- 准备挂载的配置文件目录和日志目录
日志目录(空目录)./nacos/logs配置文件./nacos/conf/application.properties
从官网下载 nacos 压缩包Release 2.2.0 (Dec 14, 2022) · alibaba/nacos · GitHub将得到的 application.properties 放到上一步的 ./nacos/conf 目录下用于下一步的挂载。
a. 配置端口
b. 取消配置的注释并修改为自己的数据库配置
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platformmysql### Count of DB:
db.num1### Connect URL of DB:
db.url.0jdbc:mysql://192.168.157.142:3306/nacos-220?characterEncodingutf8connectTimeout10000socketTimeout30000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTC
db.user.0root
db.password.012343- 运行容器
docker run --name nacos-server \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--privilegedtrue \
--restartalways \
-e JVM_XMS256m \
-e JVM_XMX256m \
-e MODEstandalone \
-e PREFER_HOST_MODEhostname \
-v ./nacos/logs:/home/nacos/logs \
-v ./nacos/conf/application.properties:/home/nacos/conf/application.properties \
-d nacos/nacos-server:v2.2.0集群部署
1- 准备三台主机ip分别为
192.168.3.211192.168.3.212192.168.3.213
2- 关闭防火墙三台
systemctl stop firewalld
systemctl disable firewalld3- 禁用selinux三台
vim /etc/selinux/config
# 将 SELNINUXenforcing 改为 disable
SELINUXdisableDocker compose
编写docker-compose脚本文件
节点1nacos-1
目录结构
.
├── nacos-cluster
│ ├── logs
│ └── nacos-cluster-1.yml
└── nacos-mysql├── data└── Dockerfile1- Dockerfile
FROM mysql:8.0.28
ADD https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/mysql-schema.sql /docker-entrypoint-initdb.d/nacos-mysql.sql
RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/nacos-mysql.sql
EXPOSE 33062- nacos-cluster-1.yml
version: 3.8
services:nacos-1:container_name: nacos-1image: nacos/nacos-server:v2.2.0volumes:- ./logs:/home/nacos/logsports:- 8848:8848- 9848:9848- 9849:9849environment:MODE: cluster#NACOS_SERVER_IP: 192.168.3.211NACOS_SERVERS: 192.168.3.211:8848 192.168.3.212:8848 192.168.3.213:8848SPRING_DATASOURCE_PLATFORM: mysqlMYSQL_SERVICE_HOST: 192.168.3.211MYSQL_SERVICE_PORT: 3306MYSQL_SERVICE_DB_NAME: nacos-220MYSQL_SERVICE_USER: rootMYSQL_SERVICE_PASSWORD: 1234MYSQL_SERVICE_DB_PARAM: characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseSSLfalseallowPublicKeyRetrievaltrueJVM_XMS: 256mJVM_XMX: 512mJVM_XMN: 256mdepends_on:mysql:condition: service_healthymysql:container_name: mysqlbuild:context: ../nacos-mysqldockerfile: Dockerfileimage: mysql:8.0.28privileged: trueenvironment:MYSQL_ROOT_PASSWORD: 1234MYSQL_DATABASE: nacos-220#MYSQL_USER: baiye#MYSQL_PASSWORD: by1234volumes:- ../nacos-mysql/data:/var/lib/mysqlports:- 3306:3306healthcheck:test: [ CMD, mysqladmin ,ping, -h, 192.168.3.211 ]interval: 5stimeout: 10sretries: 103- 运行
docker-compose -f nacos-cluster-1.yml up -d节点2nacos-2
目录结构
.
└── nacos-cluster├── logs└── nacos-cluster-2.yml1- nacos-cluster-2.yml
version: 3.8
services:nacos-2:image: nacos/nacos-server:v2.2.0container_name: nacos-2volumes:- ./logs:/home/nacos/logsports:- 8848:8848- 9848:9848- 9849:9849environment:MODE: cluster#ACOS_SERVER_IP: 192.168.3.212NACOS_SERVERS: 192.168.3.211:8848 192.168.3.212:8848 192.168.3.213:8848SPRING_DATASOURCE_PLATFORM: mysqlMYSQL_SERVICE_HOST: 192.168.3.211MYSQL_SERVICE_PORT: 3306MYSQL_SERVICE_DB_NAME: nacos-220MYSQL_SERVICE_USER: rootMYSQL_SERVICE_PASSWORD: 1234MYSQL_SERVICE_DB_PARAM: characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseSSLfalseallowPublicKeyRetrievaltrueJVM_XMS: 256mJVM_XMX: 512mJVM_XMN: 256m节点3nacos-3
目录结构
.
└── nacos-cluster├── logs└── nacos-cluster-3.yml1- nacos-cluster-3.yml
version: 3.8
services:nacos-3:image: nacos/nacos-server:v2.2.0container_name: nacos-3volumes:- ./logs:/home/nacos/logsports:- 8848:8848- 9848:9848- 9849:9849environment:MODE: cluster#NACOS_SERVER_IP: 192.168.3.213NACOS_SERVERS: 192.168.3.211:8848 192.168.3.212:8848 192.168.3.213:8848SPRING_DATASOURCE_PLATFORM: mysqlMYSQL_SERVICE_HOST: 192.168.3.211MYSQL_SERVICE_PORT: 3306MYSQL_SERVICE_DB_NAME: nacos-220MYSQL_SERVICE_USER: rootMYSQL_SERVICE_PASSWORD: 1234MYSQL_SERVICE_DB_PARAM: characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseSSLfalseallowPublicKeyRetrievaltrueJVM_XMS: 256mJVM_XMX: 512mJVM_XMN: 256mDocker run
将下面的命令**分别在三台主机上面运行可修改 --name 的值便于区分不同节点**即可到达和 docker compose 相同的效果但是运行前需要先安装 mysql
docker run -it -d \
-e MODEcluster \
-e NACOS_SERVERS192.168.3.211:8848 192.168.3.212:8848 192.168.3.213:8848 \
-e SPRING_DATASOURCE_PLATFORMmysql \
-e MYSQL_SERVICE_HOST192.168.3.211 \
-e MYSQL_SERVICE_PORT3306 \
-e MYSQL_SERVICE_DB_NAMEnacos-220 \
-e MYSQL_SERVICE_USERroot \
-e MYSQL_SERVICE_PASSWORD1234 \
-e MYSQL_SERVICE_DB_PARAMcharacterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseSSLfalseallowPublicKeyRetrievaltrue \
-e JVM_XMS256m \
-e JVM_XMX512m \
-e JVM_XMN256m \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--name nacos-1 \
--restartalways \
nacos/nacos-server:v2.2.0Nginx 配置
1- 拉取镜像
docker pull nginx2- 准备需要挂载的文件
# 运行一个 nginx 镜像
docker run -it -d --nametemp -p 8080:80 nginx
# 拷贝文件到主机用于后面的挂载
docker cp temp:/usr/share/nginx/html ./
docker cp temp:/etc/nginx ./3- 编辑配置文件
vim ./nginx/nginx.conf在 http 中添加 nacos 配置具体参考图片
#下面是 Naocs 集群的配置
upstream nacoscluster {server 192.168.3.211:8848;server 192.168.3.212:8848;server 192.168.3.213:8848;
}
server {listen 8848; # 此处的 8848 可自定义server_name 192.168.3.208;location /nacos/ { proxy_pass http://nacoscluster/nacos/;}
}在 http 上一行 添加 nacosGrpc 配置Naocs 2.x 版本之前无需添加下面的配置具体参考图片
# 下面是 Nacos 的集群的配置
stream {upstream nacosGrpc {server 192.168.3.211:9848;server 192.168.3.212:9848;server 192.168.3.213:9848;}server {listen 9848; # 此处的 9848 在自定义基础上加1000即 8848 1000proxy_pass nacosGrpc;}
}4- 运行镜像
注意此处一定要将 nacos 的访问端口暴露出去我的访问端口是配置文件中自定义的 8848
docker run -it -d --namenacos-nginx --restartalways -p 18008:80 -p 8848:8848 -v ./content:/usr/share/nginx/html -v ./nginx:/etc/nginx nginx成功访问
访问地址http://192.168.3.208:8848/nacos/ Nacos 报错总结
docker 启动 nacos 报错
报错信息Error creating bean with name ‘memoryMonitor’ defined in URL [jar:file:/home/nacos/target/nacos-server
报错信息ErrMsg:Nacos Server did not start because dumpservice bean construction failure :No DataSource set 两种解决办法 nacos 启动失败是因为 mysql 没有被唤醒我们可以尝试用数据库连接工具连接 mysql 从而唤醒mysql最后重启 nacos 即可解决问题。 指定加载的先后顺序只有当 mysql 健康后才开始运行 nacos,需要我们在 nacos 中添加下面的脚本 healthcheck:test: curl --fail http://192.168.3.220:18848/nacos/actuator/health || exit 1interval: 10stimeout: 5sretries: 3推荐使用第二种解决办法为 MySQL 进行检查Nacos 只有在 MySQL 健康检查通过后才开始启动