Linux安装Nacos集群

在一台Linux中安装Nacos伪集群,通过不同的端口号启动nacos。

一、准备环境

在Linux中先安装好JDK1.8+和Maven3.2+
准备好Nacos和Nginx安装包

二、集群架构

centos8安装nacos无法连接_centos8安装nacos无法连接

我这里用的是一台Nginx

三、安装Nginx

1、安装nginx依赖
#安装gcc
yum install gcc-c++
#安装PCRE pcre-devel
yum install -y pcre pcre-devel
#安装zlib
yum install -y zlib zlib-devel
#安装Open SSL
yum install -y openssl openssl-devel
2、下载nginx安装包
wget http://nginx.org/download/nginx-1.16.1.tar.gz
3、解压nginx安装包
#创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx

#解压缩包,直接tar -xvf nginx安装包所在路径
tar -xvf nginx-1.16.1.tar.gz
4、安装nginx
#进入nginx目录
cd /usr/local/nginx
#进入目录
cd nginx-1.16.1
#编译 执行命令 考虑到后续安装ssl证书 添加两个模块  如不需要直接执行./configure即可
./configure --with-http_stub_status_module --with-http_ssl_module
#执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
make
#执行make install命令
make install
5、测试启动nginx
cd /usr/local/nginx/sbin
# 默认配置文件启动
./nginx

# 指定配置文件启动
./nginx -c  /usr/local/nginx/conf/nginx.conf

若成功启动,在浏览器地址栏中输入服务器ip即可看到经典的nginx欢迎页

四、安装Nacos

从官网下载安装包,我这里用的是nacos-server-2.1.0.tar.gz版本。

安装包下载好后解压就可以使用了,但我们这里要用到持久化和集群配置。

1、MySQL创建相关数据库,导入sql文件
登录MySQL:mysql -u root -p 密码

登录后执行以下命令:

create database nacos_config;
use nacos_config;
source /usr/local/nacos/conf/nacos-mysql.sql # 解压出的nacos的conf文件下有该sql文件
2、配置nacos相关文件

在解压出的nacos的conf目录下,修改 application.properties 文件,在最后添加以下内容:

spring.datasource.platform=mysql
 
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root		# MySQL用过户名
db.password=123456	# MySQL密码

cp cluster.conf.example cluster.conf

修改cluster.conf文件,添加以下内容:

# 只留三个IP和端口号就好
192.168.88.10:3333
192.168.88.10:4444
192.168.88.10:5555

修改nacos的bin目录下的startup.sh

# 找到此处,修改或添加p:参数,以及 PORT=$OPTARG;;
while getopts ":m:f:s:c:p:" opt
do
    case $opt in
        m)
            MODE=$OPTARG;;
        f)
            FUNCTION_MODE=$OPTARG;;
        s)
            SERVER=$OPTARG;;
        c)
            MEMBER_LIST=$OPTARG;;
        p)
            PORT=$OPTARG;;
        ?)
        echo "Unknown parameter"
        exit 1;;
    esac
done
#####################################################
# 找到start,在nohup那两行命令下加上:-Dserver.port=${PORT}
# start	
echo "$JAVA $JAVA_OPT_EXT_FIX ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &

if [[ "$JAVA_OPT_EXT_FIX" == "" ]]; then
  nohup "$JAVA" -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
else
  nohup "$JAVA" "$JAVA_OPT_EXT_FIX" -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
fi
3、配置nginx

配置nginx的nginx.conf文件

#gzip  on;
    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;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
		# 注释掉原来的两行,添加proxy_pass http://cluster;
        location / {
            #root   html;
            #index  index.html index.htm;
            proxy_pass http://cluster;
        }

五、启动测试

进入在nacos的bin目录,依次执行

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

查看,如下为启动成功

[root@jiang bin]# ps -ef|grep nacos|grep -v grep|wc -l
3

在nginx的sbin目录下执行,./nginx -s reload;

在浏览器访问192.168.88.10:1111,nginx监听的端口号,能访问到Nacos的经典登录界面说明启动成功!