介绍
本文章介绍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