1. 程式人生 > 實用技巧 >Nacos叢集部署

Nacos叢集部署

Nacos叢集部署

準備環境

  1. 64 bit OS Linux/Unix/Mac,推薦使用Linux系統。
  2. 64 bit JDK 1.8+; JDK1.8下載以及安裝配置
  3. Maven 3.2x+;
  4. 3個或3個以上Nacos節點才能構成叢集
  5. nacos-server-1.4.0.tar.gz下載

安裝Mysql5.7資料庫

請根據Mysql5.7.14安裝教程進行安裝。

Nacos資料庫配置


1.上傳tar包並解壓
tar-zxvfnacos-server-1.4.0.tar.gz

解壓之後nacos的目錄結構

2.建立nacos資料庫
  • 檢視nacos資料庫sql指令碼
cd/home/downloads/nacos/conf
  • 建立nacos資料庫
-- 建立資料庫
create database nacos;
-- use nacos
use nacos;
-- 執行資料庫指令碼
source /home/downloads/nacos/conf/nacos-mysql.sql;
-- 檢視資料庫表
show tables;
3.修改nacos資料庫資訊

將Nacos內建型資料庫切換為Mysql資料庫

  • 備份配置檔案
cpapplication.propertiesapplication.properties.bak
  • 修改application.properties配置檔案中mysql配置
### If use MySQL as datasource:
spring.datasource.platform=mysql

Count of DB:

db.num=1

Connect URL of DB:

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root

Nacos叢集部署

在Linux伺服器上配置的nacos的叢集配置檔案為cluster.conf

1.複製配置檔案
cp/home/downloads/nacos/conf/cluster.conf.examplecluster.conf
2.修改叢集配置檔案
#檢視本機網絡卡IP
[root@centosconf]#hostname-I
192.168.15.100172.17.0.1
#配置叢集節點ip和埠
[root@centosconf]#vimcluster.conf
#itisip
#example
#192.168.16.101:8847
#192.168.16.102
#192.168.16.103

#
新增本機ip+叢集節點埠
192.168.15.100:8818
192.168.15.100:8828
192.168.15.100:8838
3.修改Nacos叢集的啟動指令碼

首先備份下原始啟動指令碼

cp/home/downloads/nacos/bin/startup.sh/home/downloads/nacos/bin/startup.sh.bak

修改啟動指令碼

[root@centosbin]#vimstartup.sh
#142行
142nohup$JAVA${JAVA_OPT}nacos.nacos>>${BASE_DIR}/logs/start.out2>&1&
#修改如下,新增-Dserver.port=${PORT}`
142nohup$JAVA-Dserver.port=${PORT}${JAVA_OPT}nacos.nacos>>${BASE_DIR}/logs/start.out2>&1&
4.檢視叢集各節點是否啟動
[root@centosbin]#ps-ef|grepnacos|grep-vgrep|wc-l

Nginx負載均衡部署

1.下載Nginx

Nginx下載地址:https://nginx.org/download/nginx-1.18.0.tar.gz

2.安裝nginx依賴庫
  • 安裝gcc環境
#nginx編譯時依賴gcc環境
[root@centossoftware]#yum-yinstallgccgcc-c++
  • 安裝pcre
#讓nginx支援重寫功能
[root@centossoftware]#yum-yinstallpcrepcre-devel
  • 安裝zlib
#zlib庫提供了很多壓縮和解壓縮的方式,nginx使用zlib對http包內容進行gzip壓縮
[root@centossoftware]#yum-yinstallzlibzlib-devel
  • 安裝openssl
#安全套接字層密碼庫,用於通訊加密
[root@centossoftware]#yum-yinstallopensslopenssl-devel
3.解壓nginx壓縮包
tar-zxvfnginx-1.18.0.tar.gz
4.檢查編譯環境
#進入壓縮目錄
[root@centossoftware]#cdnginx-1.18.0
#--prefix=/usr/local/nginx是nginx編譯安裝的目錄(預設),安裝完後會在此目錄下生成相關檔案
[[email protected]]#./configure--prefix=/usr/local/nginx
5.原始碼編譯安裝
#編譯
[[email protected]]#make
#安裝
[[email protected]]#makeinstall
6.nginx設定軟連線
ln-s/usr/local/nginx/sbin/nginx/usr/bin/nginx
7.Nginx啟動
  • 啟動nginx服務
[[email protected]]#nginx
  • Web訪問nginx,預設埠是80
  • 檢視nginx程序
[[email protected]]#ps-ef|grepnginx
root758551016:04?00:00:00nginx:masterprocessnginx
nobody7585675855016:04?00:00:00nginx:workerprocess
root7586361143016:06pts/100:00:00grep--color=autonginx
  • 重新載入nginx服務
[[email protected]]#ps-ef|grepnginx
root758551016:04?00:00:00nginx:masterprocessnginx
nobody7586675855016:06?00:00:00nginx:workerprocess
root7586861143016:06pts/100:00:00grep--color=autonginx

兩次的程序號不一樣,master程序沒有變化

  • 停止nginx服務
[[email protected]]#nginx-sstop
[[email protected]]#ps-ef|grepnginx
root7587161143016:08pts/100:00:00grep--color=autonginx

Nginx整合Nacos

1.備份nginx配置檔案
cp/usr/local/nginx/conf/nginx.conf/usr/local/nginx/conf/nginx.conf.bak
2.配置nginx配置檔案
[root@centosconf]#vimnginx.conf

#gzipon;

upstreamcluster{
server127.0.0.1:8818;
server127.0.0.1:8828;
server127.0.0.1:8838;
}


server{
listen8888;
server_namelocalhost;

#charsetkoi8-r;

#access_loglogs/host.access.logmain;

location/{
#roothtml;
#indexindex.htmlindex.htm;
proxy_passhttp://cluster;
}

修改處:

  1. 增加 upstream cluster
  2. server的監聽埠 80 --> 8888
  3. location註釋掉原有的,增加 proxy_pass http://cluster
3.啟動Nacos叢集
$cd/opt/nacos/bin
$./startup.sh-p8818
$./startup.sh-p8828
$./startup.sh-p8838
4.web訪問測試
#虛擬機器IP:8888/nacos
#賬號:nacos
#密碼:nacos

完結補充說明:

本次Nacos叢集並未搭建成功,原因是由於本次學習使用的是本地虛擬機器,由於nacos叢集模式啟動,所需記憶體過大無法啟動,即使改小也不行,因為當前目錄記憶體太小。