下載、解壓
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更換后不用挨着去修改配置(此處配置不是配置中心里的值)。
