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