目前采用三台虚拟机10.3.0.142,10.3.0.145,10.3.0.146启动三个nacos加上本机10.3.0.140的nginx实现
以10.3.0.142为例:
- 修改项目下的cluster.conf.example 修改为cluster.conf 。。如果单机的话可以为10.3.0.142:8848这样通过端口区分。
-
新建一个数据库nacos,执行目录下的nacos-mysql.sql
-
修改配置文件
#*************** Config Module Related Configurations ***************#
### If user MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://10.3.0.140:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
-
修改启动脚本。
image.png
- 启动服务。执行netstat -nltp 或者查看nacos.log查看日志。
三台启动完成之后。登录其中任意一台界面可以发现(启动失败可能是启动脚本中设置的虚拟机参数过大)。
image.png登录任意一台nacos看到的内容都是一致的。
配置nginx
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include 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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream nacos-server {
server 10.3.0.142:8848 max_fails=1 fail_timeout=120;
server 10.3.0.145:8848 max_fails=1 fail_timeout=120;
server 10.3.0.146:8848 max_fails=1 fail_timeout=120;
}
server {
listen 8848;
server_name localhost;
location /nacos/ {
proxy_pass http://nacos-server/nacos/;
}
}
}
启动nginx。访问本地的 http://localhost:8848/nacos可以发现成功了。可以测试当nacos宕机一台以及后端服务宕机一台的情况。
网友评论