搭建nacos
一、nacos的介绍
开启nacos的作用:
在项目开发过程中我们可以把服务提供者的网络地址(IP,端口号)等编码到代码中,
这种做法存在许多问题:
一旦服务提供者地址变化,就需要手工修改代码一旦是多个服务提供者,无法实现负载均衡功能一旦服务变得越来越多,人工维护调用关系困难
那么应该怎么解决呢,这时候就需要通过注册中心动态的实现服务治理。
什么是服务治理
服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。
找官方文档:Nacos 快速开始
部署nacos的前提是需要有jdk。由于linux服务器中自带了jdk所以这里的安装jdk省略。
二、安装步骤
步骤
- 首先在官网上下载压缩包,稳定版的
2、解压:
tar -xvf nacos-server-$version.tar.gz
3、切换到nacos目录中的bin目录下,执行
sh startup.sh -m standalone
此命令是执行startup.sh脚本让nacos服务启动起来
4、开启nacos的端口号:
① 开启防火墙
systemctl start firewalld.service
②开放指定端口号
查看已开放端口号
firewall-cmd --list-ports
开放指定端口号,下方示例端口号为6379
firewall-cmd --zone=public --add-port=6379/tcp --permanent
③重启防火墙
端口号才算开放成功
firewall-cmd --reload
三、设置nacos开机自启
1、添加service.service文件,并添加内容:
注意修改自己本机上nacos所在的路径
[Unit] //控制单元表示启动顺序和依赖关系
Description=nacos
After=network.target
[Service] //表示服务的定义
Type=forking
ExecStart=/home/admin/nacos/nacos/bin/startup.sh -m standalone
ExecReload=/home/admin/nacos/nacos/bin/shutdown.sh
ExecStop=/home/admin/nacos/nacos/bin/shutdown.sh
PrivateTmp=true
[Install] //表示如何安装配置文件。
WantedBy=multi-user.t表示如何安装配置文件。arget
2、添加nacos的startup.sh文件,添加nacos所在的服务器的jdk的路径
3、自启服务生效
#重新加载所有service服务
systemctl daemon-reload
#开机启动nacos.service
systemctl enable nacos.service
#查看该service是否开机启用
systemctl is-enabled nacos.service
#启动该服务
systemctl start nacos.service
#查看该服务状态
systemctl status nacos.service
四、安装过程中遇到的问题
设置完nacos自启之后尝试关机,然后再开启,测试nacos自启是否可以开机自启,在开完机之后属于域名之后出现了下图这个问题,并且单独使用nacos的地址也不能正常启动。
五、解决思路
明显是nacos这个服务就没有正常启动。可能涉及到启动的有:1、设置的自启没有生效 2、假设设置的自启是正确的,那么在开机过程中读取配置文件哪里出错了。
1、先排查nacos的配置文件是否有问题,连接数据库等等(配置文件:在conf--->application.properties)
发现在配置文件中连接nacos账号密码被注释
然后再手动启动ncos的服务,测试是否可以正常登录。然后再关机进行测试自启是否正常使用。
出现问题的原因:在nginx中的配置文件中的location/中的代码路径为nacos的路径,但是nacos还不能正常启动,于是找到nacos的不能启动的原因。在nacos的配置文件中连接数据库的账号密码被注释了,所以在nacos项目启动的时候不能正常启动。