Linux版Nacos+MySQL生產環境配置集群


配置要求

組成架構:1個Nginx(做代理使用)+3個nacos注冊中心+1個mysql

安裝環境要求:linux+nginx+mysql(要求已搭建好)

3個nacos注冊中心在linux上使用三個進程(三個端口號)來模擬三個集群(修改nacos啟動腳本實現目標)

配置步驟

第一步:下載Nacos的linux版本安裝包

https://github.com/alibaba/nacos/releases/tag/1.1.4(版本可自行調整)

第二步:下載后解壓

tar -xvzf nacos-server-1.1.4.tar.gz

解析后:

nacos

第三步:在解壓后的nacos目錄中進入config目錄並找到nacos-mysql.sql文件,在mysql數據庫中執行

cd nacos/config

執行nacos-mysql.sql到mysql

第四步:修改nacos使得nacos可以連接mysql數據

修改application.properties配置

cd nacos/config

vim application.properties

參考官網配置在最后一行配置相應信息 https://nacos.io/zh-cn/docs/deployment.html

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_devtest
db.password=youdontknow

第五步:配置偽集群,使用3333、4444、5555三個端口模擬集群

cd nacos/config
cp ./cluster.conf.example ./cluster.conf #復制默認的配置文件使其生效
vim ./cluster.conf

文件中添加三行
#ip必須使用hostname -i得出的ip
ip:3333
ip:4444
ip:5555


編輯Nacos的啟動腳本startup.sh,使它能夠接受不同的啟動端(模擬集群)

配置文件中一下內容做修改

while getopts ":m:f:s:p:" opt #此處添加 p:
do
    case $opt in
        m)
            MODE=$OPTARG;;
        f)
            FUNCTION_MODE=$OPTARG;;
        s)
            SERVER=$OPTARG;; #此處添加 SERVER=$OPTARG;;
	p)	
	    PORT=$OPTARG;;
        ?)
        echo "Unknown parameter"
        exit 1;;
    esac
done

....

echo "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &
nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 & #此處添加 -Dserver.port=${PORT}
echo "nacos is starting,you can check the ${BASE_DIR}/logs/start.out"

分別用三個端口啟動:

./start.sh -p 3333
./start.sh -p 4444
./start.sh -p 5555

由於采用集群方式部署,如果啟動報錯內存布不足,請再start.sh文件中修改jvm參數
if [[ "${MODE}" == "standalone" ]]; then
    JAVA_OPT="${JAVA_OPT} -Xms64m -Xmx64m -Xmn40m" #-Xms64m -Xmx64m -Xmn40m為單機模式修改結果
    JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
    JAVA_OPT="${JAVA_OPT} -server -Xms64m -Xmx64m -Xmn40m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" #-Xms64m -Xmx64m -Xmn40m 為集群模式修改結果
    JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
    JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"

fi


######
-Xms2g代表初始分配內存2g;
-Xmx2g代表jvm內存最大值;
-Xmn1g代表新生代內存為1g;


啟動成功后使用 ps -ef | grep nacos|grep -v grep|wc -l
檢查是否是 3 ,為3則全部啟動成功!

修改nginx配置,代理1111端口根目錄到本機三個端口,作為負載均衡器

vim /usr/local/nginx/config/nginx.conf
添加如下配置
upstream cluster{                                                        
 
    server 127.0.0.1:3333;
    server 127.0.0.1:4444;
    server 127.0.0.1:5555;
}


server{
                          
    listen 1111; #監聽1111端口
    server_name localhost;
    location /{
         proxy_pass http://cluster;
                                                        
    }
....省略  


最后使用命令執行nginx
./nginx -c /usr/local/nginx/conf/nginx.conf

結果測試:

使用http://寫你自己的ip:1111/nacos/#/login 即可等登錄nacos


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM