一、安装nacos
1.下载
使用nacos需要准备含有java环境的机器
nacos官网地址:home
Oracle下载jdk地址:Java Downloads | Oracle
2.安装jdk
在这篇文章里有安装配置jdk的步骤:http://t.csdn.cn/9tnxh
http://t.csdn.cn/9tnxh3.安装nacos
一、创建nacos用户组
操作都在该用户目录下操作,可以根据需要选择
二、上传包到目录中
三、解压文件
tar -zxvf nacos-server-2.2.2.tar.gz
到此就安装完成了。
二、使用nacos
1.目录结构
bin目录下是启动停止程序
conf目录下是配置相关文件
logs目录下是启动后日志相关
2.单机模式
一、配置startup.sh
进入bin目录修改startup.sh文件,将cluster改为standalone
# 进入bin目录
cd /home/nacos/nacos/bin
# 修改文件
vim startup.sh
二、启动nacos
# 命令1
sh /home/nacos/nacos/bin/startup.sh
# 命令2
cd /home/nacos/nacos/bin
./startup.sh
两种方式都可以
三、检查启动状态并进行访问
# 查看nacos启动
ps -ef|grep nacos
这里启动后会显示nacos的相关条例
日志可以在nacos的logs目录中查看start.out文件中查看
cat /home/nacos/nacos/logs/start.out
在外部访问地址
3.集群模式
一、准备环境
nacos集群在单机模式的基础上还需要用到:nginx(进行代理)、mysq(集群相关信息)
nginx安装:http://t.csdn.cn/JFqHu
MySQL安装创建nacos数据库并执行/home/nacos/nacos/conf/mysql-schema.sql
二、配置application.properties
1.修改端口
Tips1:不同的机器可以用同一个端口,若是在同一个机器上模拟则需要用不同的端口
Tips2:端口号不能连续。当nacos客户端升级为2.x版本后,新增了grpc的通信方式,同时新增了两个端口,这两个端口在nacos原先的端口上(默认8848),进行一定偏移量自动生成.。
Tips3:端口号的设置需要大于等于8848
例如:默认端口8848,那么偏移1000后的端口是9848和9849
:如我nacos1和nacos2分别配置的是8851和8848
server.port=8848
2.打开数据库配置
spring.datasource.platform=mysql
db.num=1
# 这里需要修改到自己的mysql数据库配置
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos
三、配置cluster.conf
# 复制出文件
cp /home/nacos/nacos/conf/cluster.conf.example /home/nacos/nacos/conf/cluster.conf
# 编辑配置文件
vim /home/nacos/nacos/conf/cluster.conf
# 添加地址
nacos1地址:nacos1端口
nacos2地址:nacos2端口
四、配置startup.sh
MODE模式要设置cluster
当机器的性能较差时可以适当调小参数
五、配置nginx
# 修改配置文件
vim /home/nginx/nginx/conf/nginx.conf
修改http标签下server标签下listen的内容即监听的端口,这里 用的8840端口,之后访问时就用nginx服务器的ip地址和监听端口进行访问
增加一个地址配置,在http标签下和server标签同级,分别指向的是nacos1和nacos2的地址端口
# 这里替换自己nacos1和nacos2的IP地址和端口
upstream nacos-servers {
server 192.168.??.???:8851;
server 192.168.??.?:8848;
}
修改http标签下server标签下location内的内容
在nacos 2.x后还需要增加偏移端口的配置以供后台程序使用,配置和http标签同级
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
pid /home/nginx/nginx/logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream nacos-servers {
server 192.168.??.???:8851;
server 192.168.??.?:8848;
}
server {
listen 8840;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /nacos/ {
# 反向代理
proxy_pass http://nacos-servers/nacos/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
# nacos的grpc协议配置2.x版本对程序连接需要
stream {
# 负载均衡配置(TCP长连接配置),端口号在前面的端口号前要进行偏置1000
upstream nacos-servers-grpc {
server 192.168.??.???:9851;
server 192.168.??.?:9848;
}
# 监听端口号在前面的端口号前要进行偏置1000
server {
listen 9840;
proxy_pass nacos-servers-grpc;
}
}
五、启动服务
1.启动nginx
# 进入nginx执行目录
cd /home/nginx/nginx/sbin
# 启动
./nginx
# 查看启动情况
ps -ef|grep nginx
2.启动nacos1和nacos2
# 进入执行目录
cd /home/nacos/nacos/bin
# 启动
./startup.sh
# 查看启动情况
ps -ef|grep nacos
3.访问nginx服务的监听地址