【Spring Cloud】Nacos集群环境的部署

介绍

本文章介绍Linux单机下学习安装Nacos集群的部署。通过nginx代理三个nacos的服务,安装的nacos版本为1.4.2,Linux的版本为centos7,nginx为1.18.0。

下载

nacos :https://github.com/alibaba/nacos/tags
选择对应的版本下载,tar.gz为linux的版本,zip为windows的版本。

安装

1.安装包准备

通过XFTP上传安装包,或者通过wget命令下载安装包。

2.解压安装包

tar -xzvf nacos-server-1.4.2.tar.gz

3.MySQL数据库初始化

1.进入conf目录下载对应的数据库初始化脚本。
/nacos/conf/nacos-mysql.sql
2.通过Navicat等数据库连接工具连接上数据库,创建数据库,并执行数据库初始化脚本。
数据库名(可以自定义):nacos_config
字符集:utf-8
排序规则:utf8_general_ci

4.修改application.properties

配置nacos的MySQL数据库连接,注意目前nacos只支持MySQL数据库,数据库要5.6.5+版本以上。
1.进入目录
cd /nacos/conf
2.备份application.properties
cp application.properties application.properties.bk
3.编辑application.properties
vim application.properties

# MySQL Config
spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://192.168.123.151:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=GMT%2B8
db.user=root
db.password=123456

4.保存
:wq

5.配置集群配置文件

1.进入目录
cd /nacos/conf
2.复制文件
cp cluster.conf.example cluster.conf
3.编辑文件
每行配置成ip:port。(请配置3个或3个以上节点)
vim cluster.conf
案例:

#it is ip
#example
192.168.123.179:3333
192.168.123.179:4444
192.168.123.179:5555

6.编辑nacos启动脚本

这里为了单台机子启动三个nacos所以才修改启动脚本,正常集群的部署不需要修改。
1.进入目录
cd /nacos/bin
2.备份文件
cp startup.sh startup.sh.bk
3.修改内容。

# 修改原有的p参数为e,并新增p参数
while getopts ":m:f:s:c:e:p:" opt
do
    case $opt in
        m)
            MODE=$OPTARG;;
        f)
            FUNCTION_MODE=$OPTARG;;
        s)
            SERVER=$OPTARG;;
        c)
            MEMBER_LIST=$OPTARG;;
        e)
            EMBEDDED_STORAGE=$OPTARG;;
        p)
            PORT=$OPTARG;;              #增加端口映射
        ?)
        echo "Unknown parameter"
        exit 1;;
    esac
done

# 修改启动的内存 单机启三个实例的最好改小点
if [[ "${MODE}" == "standalone" ]]; then
    JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
    JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
    if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then
        JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true"
    fi
    JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
    JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"

# 文章末尾修改,nuhup增加端口映射
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 &
echo "nacos is starting,you can check the ${BASE_DIR}/logs/start.out"

7.启动nacos

注意每个nacos都需要单独,所以复制出两份nacos:
cp -r nacos nacos1
cp -r nacos nacos2
分别进入nacos、nacos1、nacos2的bin目录启动nacos:
./startup.sh -p 3333
./startup.sh -p 4444
./startup.sh -p 5555
查看是否全部启动完成:
ps -ef | grep nacos
查看日志:
tail -f ../conf/start.out

8.编辑Nginx配置

1)备份nginx配置文件
cp nginx.conf nginx.conf.bk
2)修改Nginx的nginx.conf。

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

#配置集群
upstream cluster{
       server 127.0.0.1:3333;
       server 127.0.0.1:4444;
       server 127.0.0.1:5555;

    }

    server {
        listen       1111;
        server_name  localhost;

        location / {
            #root   html;
            #index  index.html index.htm;
            proxy_pass http://cluster;
        }
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

9.开启端口

开启端口:
firewall-cmd --permanent --add-port=1111/tcp
重启防火墙:
firewall-cmd --reload
查看端口是否开放成功:
firewall-cmd --query-port=1111/tcp

10.启动nginx

进入nginx的sbin目录
./nginx

11.测试

http://ip:1111/nacos/#/login
访问成功集群即配置成功。

问题

单例模式启动命令

stratup.cmd -m standalone

参考资料:

官网文档:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
第三方文档:https://blog.csdn.net/qq_41522089/article/details/107074476

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇