分类 运维 下的文章

KeepAlived+Nginx实践Nginx高可用方案

高可用性 HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA 系统是目前企业防止核心计算机系统因故障停机的最有效手段。

实现 HA 的方式,一般采用两台或者多台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。

Keepalived软件起初是专为LVS(Linux Virtual Server)负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP (Virtual Router Redundancy Protocol ,虚拟路由器冗余协议)功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。

Keepalived对高可用服务之间的故障切换转移,是通过 VRRP 来实现的。在 Keepalived服务正常工作时,主 Master节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备Backup节点自己还活着,当主 Master节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主 Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的 IP资源及服务。而当主 Master节点恢复时,备Backup节点又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色。

Keepalived的作用是检测服务器的状态,当服务器宕机或工作出现故障,Keepalived将检测到并将服务器集群中剔除,选择其他服务器代替该服务器的工作;当服务器恢复工作正常,Keepalived检测到自动将服务器加入服务器集群。

核心原理:使用两台Nginx做反向代理服务器,当其中一台Nginx宕机之后,仍能用另一台来工作,两台Nginx之间用keeplived来监测心跳。

2024-04-02T01:50:31.png

配置要求:两台服务器,三个同网段的IP地址。

- 阅读剩余部分 -

Nginx 缓存介绍

Nginx 的 ngx_http_proxy_module 模块,除了提供请求转发,还提供了请求缓存的能力。当开启缓存功能时,Nginx 会将请求响应缓存到本地磁盘上,后续的请求,只要满足缓存条件,就会直接返回缓存内容,Nginx 不会再将请求转发到后端服务。

使用缓存功能需要两步,首先配置 proxy_cache_path 参数,指定缓存文件的存放地址等信息,`proxy_cache_path 语法如下:

proxy_cache_path path [levels=levels] [use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size] [min_free=size] [manager_files=number] [manager_sleep=time] [manager_threshold=time] [loader_files=number] [loader_sleep=time] [loader_threshold=time] [purger=on|off] [purger_files=number] [purger_sleep=time] [purger_threshold=time];

- 阅读剩余部分 -

常用负载均衡详解

负载均衡简介

在互联网场景下,负载均衡(Load Balance)是分布式系统架构设计中必须考虑的一个环节,它通常是指将负载流量(工作任务、访问请求)平衡、分摊到多个操作单元(服务器、组件)上去执行的过程。

目的在于提供负载配比,解决性能、单点故障(高可用)和扩展性(水平伸缩)等问题。

2024-03-30T00:39:19.png

原先的单台服务或者单集群模式已经远不能满足需求了,这时候就需要横向扩展多台服务或者多个集群来分摊压力,达到提升系统吞吐的能力,这就是著名的分治理论

- 阅读剩余部分 -

Nginx 是如何支持百万并发的

什么是 Nginx

Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,支持热部署,几乎可以做到 7 * 24 小时不间断运行,还可在不间断服务的情况下对软件版本进行热更新。Nginx 性能非常牛,占用内存少、并发能力强、能支持高并发,支持绝大部分协议,如TCP、UDP、SMTP、HTTPS等。最重要的是, Nginx 是免费开源的且可以商业化,配置使用也比较简单。

在中国有众多互联网大厂,如百度、京东、新浪、网易、腾讯等都在使用 Nginx,也有很多高知名度的国外网站也在使用 Nginx,比如:Netflix、GitHub、SoundCloud、MaxCDN等。

- 阅读剩余部分 -

负载均衡最全详解

负载均衡是大型网站的必经之路,也是架构师的必备技能,无论是分布式、中间件、还是微服务..等等都需要涉及负载均衡。

什么是负载均衡

负载均衡(Load Balancing)是一种通过将工作负载分配到多个计算资源或系统组件上,以实现更好的性能、可靠性和可扩展性的技术。

负载均衡是为了应对系统中出现的高负载、高并发和大流量等情况,确保系统能够提供高性能、高可用性和可伸缩性。

- 阅读剩余部分 -

银河麒麟V10图形登录界面未显示 root 账户

银河麒麟服务器操作系统V10通过vnc连接后无法通过root账号登录。

【解决方案】

1、同时按 Ctrl+Alt+F1 键调出终端,对配置文件 95-ukui-greeter.conf 进行编辑:

cd /usr/share/lightdm/lightdm.conf.d/
ls
vim 95-ukui-greeter.conf

2、进入 95-ukui-greeter.conf 文件交互界面后,按 i 键进入编辑模式,输入以下参数:

allow-guest=false
greeter-show-manual-login=true

3、保持并重启图形服务:systemctl restart lightdm.service,重新进入图形界面即可通过root登录。

更新服务器vnc登录密码

vnc的用户密码以加密形式保存在 ~/.vnc/passwd 中,修改密码可使用 vncpasswd 命令。

Password: 输入你的密码大于6个字符
Verify: 再输一遍
Would you like to enter a view-only password (y/n)? n    询问你是否要再输入一个只有观看权限而被禁止操作远程桌面的密码。一般我们都不需要这样的一个只能看屏幕的权限。所以此处输入n

如果你想要密码短一些,比如只想要4个字符或者密码为空,可以用一下所谓的的过滤模式 -f 参数,把生成的密文重新定向到密码文件中。支持设置空密码。
vncpasswd -f > ~/.vnc/passwd

使用nc命令传输文件

nc传输文件是指使用网络工具nc(netcat 网络工具中的瑞士军刀)来进行文件传输。nc是一种网络工具,可以在不同的计算机之间建立TCP或UDP连接,并进行数据传输。通过nc传输文件,可以在不同计算机之间快速、安全地传输文件。

- 阅读剩余部分 -