华为云云耀云服务器L实例评测|SpringCloud相关组件——nacos和sentinel的安装和配置 & 运行内存情况 & 服务器被非法登陆尝试的解决

前言

最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到各种问题,在解决问题的过程中学到不少和运维相关的知识。

本篇博客介绍SpringCloud相关组件------nacos和sentinel的安装和配置,并分析了运行内存情况,此外,还有服务器被非法登陆尝试的解决。

其他相关的华为云云耀云服务器L实例评测文章列表如下:

引出


1.SpringCloud相关组件------nacos和sentinel的安装和配置;

2.运行内存情况;

3.服务器被非法登陆尝试的解决;

nacos的安装和配置

什么是nacos?

https://nacos.io/zh-cn/docs/quick-start.html

Nacos(全称为"Naming and Configuration Service")是一个开源的动态服务发现、配置管理和服务管理平台。它由阿里巴巴集团开发并开源,旨在帮助开发者更好地构建和管理微服务架构。

Nacos提供了以下主要功能:

  1. 服务发现与注册:Nacos充当服务注册中心,微服务可以将自己注册到Nacos,并通过Nacos进行服务发现。Nacos支持多种服务发现方式,包括基于DNS的服务发现、基于HTTP和RPC的服务发现等。
  2. 配置管理:Nacos提供了统一的配置管理功能,可以将配置信息存储在Nacos中,并动态地获取和更新配置。Nacos支持多种配置格式,包括Properties、YAML、JSON等。
  3. 动态路由:Nacos可以作为服务网关的动态路由规则的配置中心,可以根据配置的路由规则将请求转发到不同的微服务实例。
  4. 服务健康监测:Nacos可以对微服务进行健康检查,并提供实时的健康状态信息。当微服务出现故障或不可用时,Nacos可以自动将其从服务注册中心中剔除。
  5. 集群和高可用:Nacos支持集群部署,可以通过多个Nacos节点实现高可用性和负载均衡。

Nacos提供了丰富的API和控制台界面,使得开发者可以方便地进行服务注册、配置管理和服务发现等操作。它与Spring Cloud、Dubbo等主流的微服务框架集成良好,可以作为微服务架构中的核心组件之一。

Nacos是 Dynamic Naming and Configuration Service首字母简写。一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的"服务"的发现、配置和管理

nacos的安装配置

1.下载上传解压

下载nacos

访问网址: https://github.com/alibaba/nacos/releases?page=2


上传压缩包到云服务器,解压

2.配置nacos的mysql

下载配置文件,数据放到MySQL中

运行sql文件,nacos相关的表格

修改配置文件,配置MySQL的相关数据,application.properties文件。

连接sql数据库的信息

3.修改启动配置

启动方式,设置成单体模式

修改启动模式,mode

4.启动+端口开放+关闭

启动nacos,此时就不需要加命令单例启动了,直接启动即可
启动命令(standalone代表着单机模式运行,非集群模式):

sh startup.sh -m standalone

云服务器控制台开放端口

输入设置好的用户名和密码,进行登陆

登陆成功

关闭nacos的命令

java 复制代码
sh shutdown.sh

sentinel的安装和配置

什么是sentinel?

https://github.com/alibaba/Sentinel/wiki/主页

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。

资源

资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。在接下来的文档中,我们都会用资源来描述代码块。

只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。

规则

围绕资源的实时状态设定的规则,可以包括流量控制规则、熔断降级规则以及系统保护规则。所有规则可以动态实时调整。

sentinel的安装配置

1.下载和上传

https://github.com/alibaba/Sentinel/releases

创建文件夹,上传sentinel到云服务器

2.运行命令解释

从 1.6.0 起,sentinel-dashboard 引入基本的登录功能,默认用户名和密码都是 sentinel 。当然也可以通过 JVM 参数的方式进行修改

  • -Dsentinel.dashboard.auth.username=sentinel

    用于指定控制台的登录用户名为 sentinel ;

  • -Dsentinel.dashboard.auth.password=123456

    用于指定控制台的登录密码为 123456;如果省略这两个参数,默认用户和密码均为 sentinel;

  • -Dserver.servlet.session.timeout=7200

    用于指定 Spring Boot 服务端 session 的过期时间,如 7200 表示 7200 秒;60m 表示 60 分钟,默认为 30 分钟;

  • -Dserver.port=8840

    用于指定 Sentinel 控制台端口为 8840。默认是 8080 。

  • -Dproject.name=sentinel-dashboard

    指定 Sentinel 控制台程序的名称。

如果你有多张网卡的话,你还需要指定使用哪张网卡(IP)来接受各个微服务上报的信息:

3.启动+端口开发+关闭

运行命令

java 复制代码
java -Dserver.port=7777 \
-Dcsp.sentinel.dashboard.server=192.168.111.130:7777 \
-Dproject.name=sentinel-dashboard \
-Dsentinel.dashboard.auth.username=sentinel \
-Dsentinel.dashboard.auth.password=123456 \
-jar sentinel-dashboard-1.8.6.jar

服务器控制台开放端口

输入设置好的用户名和密码进行登陆

登陆成功

关闭sentinel,两种方式

(1)直接在运行页面输入,Ctrl + c;

(2)kill进程,查询进程,kill掉

java 复制代码
ps -ef | grep sentinel
java 复制代码
kill -9 19215

内存情况和插曲

内存情况

在运行了mysql容器,以及redis容器后,内存占用了45%

同时启动nacos,sentinel,mysql,redis后,内存吃紧

插曲:当服务器遭遇非法登陆尝试

There were 18 failed login attempts since the last successful login.

又来了

查看尝试非法登陆的ip

java 复制代码
grep "Failed password for invalid user" /var/log/secure | awk '{print $13}' | sort | uniq -c | sort -nr

禁止这些非法ip进行ssh登陆

java 复制代码
cat /var/log/secure |  grep "Failed password for invalid user" | awk '{print $13}' | sort | uniq -c | sort -n | tail -10 |awk '{print "sshd:"$2":deny"}' >> /etc/hosts.allow 
cat /etc/hosts.allow

参考博客:

https://blog.csdn.net/qq_38617531/article/details/125875195


总结

1.SpringCloud相关组件------nacos和sentinel的安装和配置;

2.运行内存情况;

3.服务器被非法登陆尝试的解决;

相关推荐
HPC_fac130520678161 小时前
科研深度学习:如何精选GPU以优化服务器性能
服务器·人工智能·深度学习·神经网络·机器学习·数据挖掘·gpu算力
sun0077007 小时前
ubuntu dpkg 删除安装包
运维·服务器·ubuntu
oi778 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器
学Linux的语莫9 小时前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
Onlooker1299 小时前
云服务器部署WebSocket项目
服务器
学Linux的语莫10 小时前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
legend_jz10 小时前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
黑牛先生10 小时前
【Linux】进程-PCB
linux·运维·服务器
Karoku06610 小时前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch