本次部署 3个nacos节点,然后一个负载均衡器(nginx)代理3个Nacos。集群部署按照前述,做好数据库脚本的初始化、防火墙策略的设置。
安装jdk
解压jdk文件
cd /data/soft
tar -zxvf jdk-23_linux-x64_bin.tar.gz
修改环境变量
vi /etc/profile#install JAVA JDK
export JAVA_HOME=/data/soft/jdk-23.0.2
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使环境变量生效
source /etc/profile
部署nacos集群
下载nacos部署包
https://nacos.io/download/nacos-server/?spm=5238cd80.6957c5b5.0.0.1a4638c1VerVDF
解压部署包
unzip nacos-server-2.5.0.zip
修改nacos的服务端口
# nacos-8850/conf/application.properties
#默认端口为8848
server.port=8850
修改nacos连接数据库配置(推荐使用greatsql或mysql)
# nacos-8850/conf/application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.188.23:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=Nacos#1234
修改集群配置文件
#由于本次部署是单主机多节点,需要考虑监听服务,监听端口与主端口的偏移量默认为1000或1001,所以主端口的间隔要大于2
192.168.188.26:8850
192.168.188.26:8860
192.168.188.26:8870
启动各节点服务
cd /data/soft/nacos-8850/bin
./startup.sh -m clustercd /data/soft/nacos-8860/bin
./startup.sh -m clustercd /data/soft/nacos-8870/bin
./startup.sh -m cluster
查看本机服务端口 ss -lntp
可以看到主端口为 8850 8860 8870,监听端口为7850 9850 9851 7860 9860 9861 7870 9870 9871
部署nginx进行负载均衡
下载部署包
http://nginx.org/en/download.html
解压文件到相应目录:
cd /data/soft
tar -zxvf nginx-1.27.2.tar.gz
进入到相应目录:
cd /data/soft/nginx-1.27.2
#编译:
./configure --prefix=/usr/local/nginx(安装路径) --with-stream(tcp映射组件)
#例:
./configure --prefix=/data/soft/nginx --with-stream
#安装:
make && make install
修改nginx.conf配置文件,增加nacos负载配置
#nacos主端口负载均衡(在http标签内)
upstream nacos-cluster {server 192.168.188.26:8850;server 192.168.188.26:8860;server 192.168.188.26:8870;
}
server {listen 8848;server_name localhost; location /nacos {proxy_pass http://nacos-cluster;}
}
#nacos监听服务的端口负载,若只配置主端口负载无法访问时可以加上
stream{
upstream nacos-cluster-to{
server 192.168.188.26:9850;
server 192.168.188.26:9860;
server 192.168.188.26:9870;
}
server{
listen 9848;
proxy_pass nacos-cluster-to;
}
}
启动:cd /usr/local/nginx/sbin
./nginx
nginx的整个配置文件
#user nobody;
worker_processes 3;
events {worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65000;server {listen 80;server_name localhost;location / {root html;index index.html index.htm;}location = /50x.html {root html;}}
upstream nacos-cluster {server 192.168.188.26:8850;server 192.168.188.26:8860;server 192.168.188.26:8870;
}
server {listen 8848;server_name localhost;location /nacos {proxy_pass http://nacos-cluster;}
}
}
stream{
upstream nacos-cluster-to{
server 192.168.188.26:9850;
server 192.168.188.26:9860;
server 192.168.188.26:9870;
}
server{
listen 9848;
proxy_pass nacos-cluster-to;
}
}
登录访问
通过浏览器可访问(任选一个节点的IP端口):http://192.168.188.23:8848/nacos/ 。