nacos注册
下载配置服务端:
下载地址:
nacos-server-2.0.4.zip
解压:启动
注意:路径中不能含有中文,否则会报文件找不到异常
方式1:
方式2:startup.cmd -m standalone
测试访问:
http://192.168.0.104:8848/nacos/index.html
http://localhost:8848/nacos/index.html
注意:ip为当前主机的IP,用户名和密码默认都是nacos
配置使用客户端
服务发现示意图:
添加依赖:
注意:与eureka客户端包不能一起使用,否则服务启动时会报错,不知道注册哪一个
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
添加配置:
application.yml
spring:
#应用名称,向注册中心注册时非常有用
application:
name: orderService
cloud:
nacos:
discovery:
server-addr: 192.168.0.104:8848
application.properties
server.port=8070
spring.application.name=service-provider
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
启动类配置:
//开启客户端发现 任何注册中心都可以使用该注解
@EnableDiscoveryClient
查看效果:
这里就是可以看看,试试(一般写微服务的话上面的就够了)
nacos生产环境集群配置
SLB= server loadbalance = nginx 服务器
前面配置过3台linux服务器 cluster1 cluster2 cluster3
克隆3台服务器,启动,修改IP,主机名称,选择桥接启动,使用xshell连接。
3.2.1 下载解压包
在第一台机子上配置完成,发送到其他机子
下载tar.gz包上传并解压
在cluster1上操作:
tar -xzvf /root/software/nacos-server-2.0.3.tar.gz -C /usr/
3.2.2 配置外置数据源
如果要连接mysql8数据库需要上传jar包到
/usr/nacos/plugins/mysql
查看配置文件包:
ls /usr/nacos/conf/
存在 /usr/nacos/conf/nacos-mysql.sql
创建库导入sql:
把该文件导出 在navicat下创建数据库db_qy142_nacos 并导入sql文件
配置数据库:
vim /usr/nacos/conf/application.properties
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.41.174:3306/db_qy141_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
打开修改 33-41行 注意: ip,数据库名称,用户名和密码都是自己的
注意nacos默认使用mysql5, 如果要用mysql8需要在nacos目录下创建 "plugins/mysql"目录,然后上传mysql8的jar包
3.2.3 配置集群
vim /usr/nacos/conf/application.properties
:21 修改端口号为18841 注意,一会推送到其他服务器要修改
复制文件修改名称
cp /usr/nacos/conf/cluster.conf.example /usr/nacos/conf/cluster.conf
vim /usr/nacos/conf/cluster.conf
修改为:
#集群节点配置
192.168.170.41:18841
192.168.170.42:18842
192.168.170.43:18843
修改nacos服务器使用内存 ,虚拟机内存至少1G
vim /usr/nacos/bin/startup.sh :93 -Xms2G -Xmx2G 改为1G
-X execute m = memory s =start jvm最小堆内存配置 -Xms
-X execute m = memory x =max jvm最大堆内存配置 -Xms
复制已经配置好nacos到另外两台服务器
scp -r /usr/nacos/ cluster2:/usr/
scp -r /usr/nacos/ cluster3:/usr/
修改其他两台配置:
vim /usr/nacos/conf/application.properties
:21 改端口 18842 18843
测试:
/usr/nacos/bin/startup.sh //在allsession中执行 官网 sh startup.sh
访问任意地址:
http://192.168.170.41:18841/nacos
http://192.168.170.42:18842/nacos
http://192.168.170.43:18843/nacos
/usr/nacos/bin/shutdown.sh 关闭操作
3.2.4 安装配置nginx 配置反向代理
nginx安装参考过去课件
在cluster1 操作:
关闭子安全系统 允许nginx访问底层文件
vim /etc/sysconfig/selinux
:7 SELINUX=disabled
reboot 重启
安装c编译器
yum -y install gcc-c++
安装 pcre 支持url重写
tar -xzvf /root/software/pcre-8.44.tar.gz -C /usr/
cd /usr/pcre-8.44/
./configure 检查并确认安装路径
make && make install 编译安装
pcre-config --version
安装zlib 支持gzip压缩
yum -y install zlib-devel
安装nginx
tar -xzvf /root/software/nginx-1.18.0.tar.gz -C /usr/
cd /usr/nginx-1.18.0/
./configure 检查并确认安装路径
make && make install 编译安装
配置nacos反向代理+负载均衡
vim /usr/local/nginx/conf/nginx.conf
#设置nacos反向代理
location /qy141/ {
proxy_pass http://nacosservers/;
}
# 配置nacos负载均衡列表
upstream nacosservers{
server 192.168.170.41:18841;
server 192.168.170.42:18842;
server 192.168.170.43:18843;
}
启动nginx
保证3台nacos 服务器正常
/usr/local/nginx/sbin/nginx
3.2.5 测试
保证3台nacos启动
http://192.168.170.166:14811/nacos/index.html
http://192.168.170.177:14812/nacos/index.html
http://192.168.170.188:14813/nacos/index.html
/usr/local/nginx/sbin/nginx
http://192.168.170.166/nacoslb/nacos
客户端配置换成
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.170.41:80/qy141/
如果 上面不加http:// 不可以用,就使用http://192.168.170.166/qy141/