搭建nacos

简介: 搭建nacos

一、nacos的介绍


开启nacos的作用:


在项目开发过程中我们可以把服务提供者的网络地址(IP,端口号)等编码到代码中,


这种做法存在许多问题:


一旦服务提供者地址变化,就需要手工修改代码一旦是多个服务提供者,无法实现负载均衡功能一旦服务变得越来越多,人工维护调用关系困难


那么应该怎么解决呢,这时候就需要通过注册中心动态的实现服务治理。


什么是服务治理

服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。


找官方文档:Nacos 快速开始


部署nacos的前提是需要有jdk。由于linux服务器中自带了jdk所以这里的安装jdk省略。


二、安装步骤


步骤


首先在官网上下载压缩包,稳定版的

b68f35878504547e4ed3bdc7e0549f0d_d7733b554d6a682427bb989411908909.png


2、解压:


tar -xvf nacos-server-$version.tar.gz

e033874d3b81b1826329db7bbde00b2c_daaab53a007d477bba8df0bb301a27fe.png

3、切换到nacos目录中的bin目录下,执行


sh startup.sh -m standalone

此命令是执行startup.sh脚本让nacos服务启动起来


c094de8bc7cbd7c62851da6bbe1721c1_1cc07dc8e501ae6d49cfff0630c7087d.png


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的路径


2931a81116f4c4c0638c7fddfe79b4bf_a97637a778f1345b14a5cdc5bc92858d.png


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

84ad3bec73c9268f14a3bc3759af11a7_c33c44080f7cb04bd3b23ad1b8d2f7ec.png


四、安装过程中遇到的问题


设置完nacos自启之后尝试关机,然后再开启,测试nacos自启是否可以开机自启,在开完机之后属于域名之后出现了下图这个问题,并且单独使用nacos的地址也不能正常启动。


0c179de65c4415191f8b91a90c48e19b_afb47102095c83ac71fd69c1346ea767.png


五、解决思路


明显是nacos这个服务就没有正常启动。可能涉及到启动的有:1、设置的自启没有生效 2、假设设置的自启是正确的,那么在开机过程中读取配置文件哪里出错了。


1、先排查nacos的配置文件是否有问题,连接数据库等等(配置文件:在conf--->application.properties)


发现在配置文件中连接nacos账号密码被注释


8964a54d905c83bc711c77fc9910720c_75e79e44f0d17f25d3ec58e468a1b006.png


然后再手动启动ncos的服务,测试是否可以正常登录。然后再关机进行测试自启是否正常使用。


出现问题的原因:在nginx中的配置文件中的location/中的代码路径为nacos的路径,但是nacos还不能正常启动,于是找到nacos的不能启动的原因。在nacos的配置文件中连接数据库的账号密码被注释了,所以在nacos项目启动的时候不能正常启动。


相关文章
|
canal 关系型数据库 MySQL
Canal服务搭建
Canal服务搭建
1354 1
Canal服务搭建
|
人工智能 Cloud Native 开发者
开发者们,AI 原生应用架构专场 ·上海站来啦
云原生开源开发者沙龙 AI 原生应用架构专场,邀您一起交流,探索 AI 原生应用的工程化落地!
472 77
|
6月前
|
数据安全/隐私保护
基于双PI控制的永磁同步电机变频调速系统simulink建模与仿真
本课题针对基于双PI控制的永磁同步电机(PMSM)变频调速系统,进行Simulink建模与仿真。系统采用MATLAB2022a实现,包含完整核心程序与无水印仿真结果。双PI控制器分别对速度和电流闭环控制,结合dq坐标变换及SVPWM技术,确保电机高效运行与精确调速。内容涵盖系统原理、数学模型与控制策略,适合学习与研究使用。
|
11月前
|
5G 网络性能优化 网络安全
|
XML Java 数据库连接
【MyBatis】1、MyBatis 核心配置文件、多表查询、实体映射文件 ......
【MyBatis】1、MyBatis 核心配置文件、多表查询、实体映射文件 ......
259 0
|
机器学习/深度学习 人工智能 语音技术
情感识别与表达:FunAudioLLM的情感智能技术
【8月更文第28天】随着人工智能的发展,语音交互系统越来越普遍。其中,情感智能技术成为提高用户体验的关键因素之一。本文将探讨 FunAudioLLM 如何利用情感识别和表达技术来增强语音交互的真实感,并提供具体的代码示例。
1185 0
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结
MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结
385 1
|
NoSQL Redis Docker
深入浅出:使用Docker容器化改进Python应用部署
在快速演进的软件开发领域,持续集成和持续部署(CI/CD)已成为加速产品上市的关键。本文将探索如何利用Docker,一种流行的容器化技术,来容器化Python应用,实现高效、可靠的部署流程。我们将从Docker的基本概念入手,详细讨论如何创建轻量级、可移植的Python应用容器,并展示如何通过Docker Compose管理多容器应用。此外,文章还将介绍使用Docker的最佳实践,帮助开发者避免常见陷阱,优化部署策略。无论是初学者还是有经验的开发人员,本文都将提供有价值的见解,助力读者在自己的项目中实现容器化部署的转型。
|
存储 关系型数据库 MySQL
认识MySQL数据库中的事件
认识MySQL数据库中的事件。
319 4
|
供应链 异构计算
商品的spu、sku及其之间的关系
商品的spu、sku及其之间的关系
973 0