nacos-server集群 安装、运行(ubuntu)
下载、解压
wget -P /opt/downloads https://github.com/alibaba/nacos/releases/download/1.0.0/nacos-server-1.0.0.tar.gz tar zxvf /opt/downloads/nacos-server-1.0.0.tar.gz -C /opt
复制到另外3个目录,本文在同一服务器上用8841,8842,8843这3个不同端口模拟nacos集群,前端放nginx进行负载均衡。
cp -r /opt/nacos /opt/nacos-server-1 cp -r /opt/nacos /opt/nacos-server-2 cp -r /opt/nacos /opt/nacos-server-3
若是ubuntu系统,默认使用dash而不是bash,若执行startup.sh启动会报[[: not found
vim /opt/nacos-server-1/bin/startup.sh #!/bin/sh改成#!/bin/bash
赋予权限
chmod 777 /opt/nacos-server-1/bin/startup.sh chmod 777 /opt/nacos-server-1/bin/shutdown.sh
若是standalone模式
启动
/opt/nacos-server-1/bin/startup.sh -m standalone
集群模式搭建
端口有两种方式设置:
1.
vim /opt/nacos-server-1/conf/application.properties
设置server.port=8848为server.port=8841
注:这里改为8841是为了在一台服务器上通过3个端口模拟集群,生产环境可以保持8848不变。
2.
vim /opt/nacos-server-1/bin/startup.sh
在 # JVM Configuration 下方加入
JAVA_OPT="${JAVA_OPT} -Dserver.port=8841"
相当于设置java程序中System.getProperty("server.port")的值
增加支持MySQL数据源配置
vim /opt/nacos-server-1/conf/application.properties
增加以下代码段,参数自行修改
spring.datasource.platform=mysql db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root db.password=root
mysql脚本见:https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql
数据库建立(略)
修改cluster文件
touch /opt/nacos-server-1/conf/cluster.conf vim /opt/nacos-server-1/conf/cluster.conf
内容加入:
192.168.1.102:8841
192.168.1.102:8842
192.168.1.102:8843
启动:
/opt/nacos-server-1/bin/startup.sh或bash -f /opt/nacos-server-1/bin/startup.sh
守护进程方式启动:
vim /lib/systemd/system/nacos-server-8841.service
文件中填入
[Unit] Description=nacos-server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/opt/nacos-server-1/bin/startup.sh
ExecStop=/opt/nacos-server-1/bin/shutdown.sh
Restart=always PrivateTmp=true
[Install]
WantedBy=multi-user.target
添加权限
chmod 777 /lib/systemd/system/nacos-server-8841.service
启用服务
systemctl enable nacos-server-8841.service
systemctl daemon-reload
运行
systemctl start nacos-server-8841.service
查看状态
systemctl status nacos-server-8841.service
查看进程
netstat -anltp|grep 8841
nacos-server-2和nacos-server-3做以上同等修改
nginx的安装、运行见:
https://www.cnblogs.com/wintersoft/p/10537946.html
修改nginx配置
vim /opt/nginx/conf/nginx.conf
http节点内加入
upstream nacosserver {
server 192.168.1.101:8841;
server 192.168.1.102:8841;
}
另外增加一个server节点
server { listen 8848; server_name 192.168.1.102;
access_log logs/host.access.log main; location /nacos/ { proxy_pass http://nacosserver/nacos/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
目前只是单节点的nginx,在生产环境需实现高可用,可设置成多个keepalive+多个nginx;或网关+多个nginx;或云服务的负载均衡器。
nacos地址可以解析到一个域名下,防止服务器ip更换后不用挨着去修改配置(此处配置不是配置中心里的值)。