百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

keepalived+nginx实现高可用实战全(双机主备,双主热备)

off999 2025-02-20 17:29 28 浏览 0 评论

Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

下面这里我们就用keepalived+nginx来测试下。

一、环境

这里准备两台机器,一台是主一台是备

#nginx11
192.168.192.11 MASTER
#nginx02
192.168.192.12 BACKUP
然后keepalive用的虚拟ip是
192.168.192.13

我们的目的就是通过访问192.168.192.13,会去到192.168.192.11,当192.168.192.11挂了后就会去到192.168.192.12

nginx环境搭建可以参考Nginx实战

虚拟机的安装和克隆可以参考一个Java程序员从事网站开发要了解和掌握的基本技术
中的Linux服务器准备

二、keepalived+nginx实现高可用实战

1、官网下载

https://www.keepalived.org/download.html
这里下载Release版本:keepalived-2.0.6.tar.gz

注:开始我用keepalived-2.1.0.tar.gz版本,报如下错误,找不到解决办法,就只能换低一点的版本了,望知道的说下!

make[1]: Entering directory `/usr/local/keepalived-2.1.0/keepalived'
Making all in core
make[2]: Entering directory `/usr/local/keepalived-2.1.0/keepalived/core'
  CC       namespaces.o
In file included from /usr/include/netlink/handlers.h:19:0,
                 from /usr/include/netlink/socket.h:16,
                 from namespaces.c:171:
/usr/include/netlink/netlink-kernel.h:193:2: error: unknown type name ‘__u32’
  __u32 group;
  ^
make[2]: *** [namespaces.o] Error 1
make[2]: Leaving directory `/usr/local/keepalived-2.1.0/keepalived/core'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/keepalived-2.1.0/keepalived'
make: *** [all-recursive] Error 1

2、解压

上传到/usr/local目录下面解压

tar -zxvf keepalived-2.1.0.tar.gz

3、configure配置

cd /usr/local/keepalived-2.1.0
./configure --prefix=/usr/local/keepalived --sysconf=/etc
  • prefix:keepalived安装的位置
  • sysconf:keepalived核心配置文件所在位置,固定位置,改成其他位置则keepalived启动不了,/var/log/messages中会报错

执行完后会有警告

*** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.

安装 libnl/libnl-3 依赖

yum -y install libnl libnl-devel

重新执行

./configure --prefix=/usr/local/keepalived --sysconf=/etc

发现没有警告了。

4、安装

make && make install

5、Keepalived 配置

cd /etc/keepalived
[root@localhost keepalived]# ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:56:36:1a:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.192.11/24 brd 192.168.192.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::a4ce:6997:d06a:d685/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

我们用的网卡是ens33

修改配置文件,假设我们这里的VIP为192.168.192.13,并且这台节点为MASTER,配置文件为

global_defs {
   # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
   router_id keep_11
}

vrrp_instance VI_1 {
    # 表示状态是MASTER主机还是备用机BACKUP
    state MASTER
    # 该实例绑定的网卡名称
    interface ens33
    # 保证主备节点一致即可
    virtual_router_id 13
    # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选
    priority 100
    # 主备之间同步检查时间间隔,单位秒
    advert_int 2
    # 认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟出来的ip,可以有多个(vip)
    virtual_ipaddress {
        192.168.192.13
    }
}

然后我们克隆一台机器,修改另一台机器的配置文件为BACKUP

global_defs {
   # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
   router_id keep_12
}

vrrp_instance VI_1 {
    # 表示状态是MASTER主机还是备用机BACKUP
    state BACKUP
    # 该实例绑定的网卡名称
    interface ens33
    # 保证主备节点一致即可
    virtual_router_id 13
    # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选
    priority 80
    # 主备之间同步检查时间间隔,单位秒
    advert_int 2
    # 认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟出来的ip,可以有多个(vip)
    virtual_ipaddress {
        192.168.192.13
    }
}

6、启动MASTER

cd /usr/local/keepalived/sbin
./keepalived
[root@localhost sbin]# ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:56:36:1a:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.192.11/24 brd 192.168.192.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.192.13/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::a4ce:6997:d06a:d685/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@localhost sbin]#

可以看到ens33多了一个192.168.192.13

7、启动BACKUP

cd /usr/local/keepalived/sbin
./keepalived
[root@localhost sbin]# ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:56:3c:89:c3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.192.12/24 brd 192.168.192.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.192.13/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::a4ce:6997:d06a:d685/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::137c:d64d:c120:b79e/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@localhost sbin]#

可以看到ens33也多了一个192.168.192.13

8、访问

我们访问192.168.192.13,会发现

Welcome to nginx MASTER 11!

页面显示这个,表面目前是在MASTER的

9、模拟服务中断
正常我们定义某个节点有故障了,就是keepalived的进程都不在了,所以我们可以在MASTER执行

killall keepalived

要是没有这命令可以先安装

yum -y  install psmisc

kill后我们发现

[root@localhost html]# ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:56:36:1a:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.192.11/24 brd 192.168.192.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::a4ce:6997:d06a:d685/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@localhost html]#

192.168.192.13就不见了。

再访问192.168.192.13

Welcome to nginx BACKUP 12!

成功切到了备用机!

我们再启动MASTER的keepalived后,再访问192.168.192.13

Welcome to nginx MASTER 11!

10、那我们监控的好像都是keepalived?不是nginx啊?

正常我们都会在keepalived配置中配置一个检查脚本,定时检查nginx进程是否存在,若是不存在则同时killall keepalived,这样就相当于监控了nginx.

11、keepalived相关命令

# 启动keepalived
systemctl start keepalived
# 停止keepalived
systemctl stop keepalived
# 重启keepalived
systemctl restart keepalived

12、Keepalived 配置 Nginx 自动重启

1、增加Nginx重启检测脚本

vim /etc/keepalived/check_nginx_alive_or_not.sh
#!/bin/bash

A=`ps -C nginx --no-header |wc -l`
# 判断nginx是否宕机,如果宕机了,尝试重启
if [ $A -eq 0 ];then
    /usr/local/nginx/sbin/nginx
    # 等待一小会再次检查nginx,如果没有启动成功,则停止keepalived,使其启动备用机
    sleep 3
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

增加运行权限

chmod +x /etc/keepalived/check_nginx_alive_or_not.sh

2、在 keepalived.conf 配置定时监听 nginx 状态脚本

vrrp_script check_nginx_alive {
    script "/etc/keepalived/check_nginx_alive_or_not.sh"
    interval 2 # 每隔两秒运行上一行脚本
    weight 10 # 如果脚本运行成功,则升级权重+10
    # weight -10 # 如果脚本运行失败,则升级权重-10
}

3、在vrrp_instance中新增监控的脚本

track_script {
    check_nginx_alive   # 追踪 nginx 脚本
}

4、重启Keepalived使得配置文件生效

systemctl restart keepalived

5、测试Nginx是否会自动重启

cd /usr/local/nginx/sbin
#停止
./nginx -s stop
#查看进程是否存在
ps -ef|grep nginx

这里我们配置脚本是每隔两秒运行一次,所以手速要快,当然如果你手速不快的话,可以把运行时间加长,就会看到效果。我们已停止nginx,马上查进程是查不到的,过一会再查又有了。

6、加上监控的配置文件

global_defs {
   # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
   router_id keep_11
}
vrrp_script check_nginx_alive {
    script "/etc/keepalived/check_nginx_alive_or_not.sh"
    interval 2 # 每隔两秒运行上一行脚本
    weight 10 # 如果脚本运行成功,则升级权重+10
    # weight -10 # 如果脚本运行失败,则升级权重-10
}
vrrp_instance VI_1 {
    # 表示状态是MASTER主机还是备用机BACKUP
    state MASTER
    # 该实例绑定的网卡名称
    interface ens33
    # 保证主备节点一致即可
    virtual_router_id 13
    # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选
    priority 100
    # 主备之间同步检查时间间隔,单位秒
    advert_int 2
    # 认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟出来的ip,可以有多个(vip)
    virtual_ipaddress {
        192.168.192.13
    }
    track_script {
        check_nginx_alive   # 追踪 nginx 脚本
    }
}

13、脑裂问题

我们上面可以看到,MASTER和BACKUP上执行ip addr都可以看到VIP,很明显是有问题的。

数据包抓取看看

安装tcpdump命令(没有的话)

yum install tcpdump
[root@localhost sbin]# tcpdump -i ens33 vrrp -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
04:13:38.770655 IP 192.168.192.12 > 224.0.0.18: VRRPv2, Advertisement, vrid 13, prio 80, authtype simple, intvl 2s, length 20
04:13:39.484837 IP 192.168.192.11 > 224.0.0.18: VRRPv2, Advertisement, vrid 13, prio 110, authtype simple, intvl 2s, length

检查发现 11和12都在对224.0.0.18发送消息。Keepalived使用vrrp组播,默认地址是224.0.0.18.但是在正常情况下,备节点如果收到主节点的心跳消息时,优先级高于自己,就不会主动对外发送消息。

考虑到,该主机启用了firewalld防火墙,因此要防火墙配置放过vrrp协议。

firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --reload

完成后再用ip addr查看,集群已经正常了,只有主节点绑定虚拟IP,备份节点不会绑定了。

tcpdump -i ens33 vrrp -n
[root@localhost sbin]# tcpdump -i ens33 vrrp -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
04:25:26.669848 IP 192.168.192.11 > 224.0.0.18: VRRPv2, Advertisement, vrid 13, prio 110, authtype simple, intvl 2s, length 20
04:25:28.679560 IP 192.168.192.11 > 224.0.0.18: VRRPv2, Advertisement, vrid 13, prio 110, authtype simple, intvl 2s, length 20

发现12就不会对224.0.0.18发送消息了。

再看ip addr 发现只有11Master才有虚拟IP 13了。

三、实现双主热备

上面实现的是双机主备,也就是有一台备用机其实是浪费了的,所以正常情况下我们会实现双主热备,什么意思呢?就是两台服务器互为主备,也就是有两个vip。然后我们再DNS中配置两个vip即可,DNS会根据轮训策略选取一个vip进行访问,这样就都不会浪费资源啦。

话说配置DNS轮训貌似只有云服务可以配置。比如腾讯云或者阿里云,在配置域名解析的时候,配置两个ip即可。

下面我们在上面双机主备的环境下继续搭建双主热备,这里规划下ip:

#nginx11
192.168.192.11 MASTER
#nginx02
192.168.192.12 BACKUP
然后keepalive用的虚拟ip是
192.168.192.13/192.168.192.14

vip192.168.192.13中我们配置192.168.192.11 MASTER,192.168.192.12 BACKUP,vip192.168.192.14中我们配置192.168.192.11 BACKUP,192.168.192.12 MASTER.

1、192.168.192.11配置文件

global_defs {
   # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
   router_id keep_11
}
vrrp_script check_nginx_alive {
    script "/etc/keepalived/check_nginx_alive_or_not.sh"
    interval 2 # 每隔两秒运行上一行脚本
    weight 10 # 如果脚本运行成功,则升级权重+10
    # weight -10 # 如果脚本运行失败,则升级权重-10
}
vrrp_instance VI_1 {
    # 表示状态是MASTER主机还是备用机BACKUP
    state MASTER
    # 该实例绑定的网卡名称
    interface ens33
    # 保证主备节点一致即可
    virtual_router_id 13
    # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选
    priority 100
    # 主备之间同步检查时间间隔,单位秒
    advert_int 2
    # 认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟出来的ip,可以有多个(vip)
    virtual_ipaddress {
        192.168.192.13
    }
    track_script {
        check_nginx_alive   # 追踪 nginx 脚本
    }
}


vrrp_instance VI_2 {
    # 表示状态是MASTER主机还是备用机BACKUP:这里是BACKUP
    state BACKUP
    # 该实例绑定的网卡名称
    interface ens33
    # 保证主备节点一致即可:第二个vip
    virtual_router_id 14
    # 权重:这里是backup
    priority 80
    # 主备之间同步检查时间间隔,单位秒
    advert_int 2
    # 认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟出来的ip,可以有多个(vip):这里是第二个vip,用户14
    virtual_ipaddress {
        192.168.192.14
    }
    track_script {
        check_nginx_alive   # 追踪 nginx 脚本
    }
}

可以看到有了两个vrrp_instance VI_1和vrrp_instance VI_2,其中 VI_1 对应vip192.168.192.13,该节点为MASTER, VI_2对应vip192.168.192.13,该节点为BACKUP.

2、192.168.192.12配置文件

global_defs {
   # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
   router_id keep_12
}
vrrp_script check_nginx_alive {
    script "/etc/keepalived/check_nginx_alive_or_not.sh"
    interval 2 # 每隔两秒运行上一行脚本
    weight 10 # 如果脚本运行成功,则升级权重+10
    # weight -10 # 如果脚本运行失败,则升级权重-10
}
vrrp_instance VI_1 {
    # 表示状态是MASTER主机还是备用机BACKUP
    state BACKUP
    # 该实例绑定的网卡名称
    interface ens33
    # 保证主备节点一致即可
    virtual_router_id 13
    # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选
    priority 80
    # 主备之间同步检查时间间隔,单位秒
    advert_int 2
    # 认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟出来的ip,可以有多个(vip)
    virtual_ipaddress {
        192.168.192.13
    }
    track_script {
        check_nginx_alive   # 追踪 nginx 脚本
    }
}

vrrp_instance VI_2 {
    # 表示状态是MASTER主机还是备用机BACKUP
    state MASTER
    # 该实例绑定的网卡名称
    interface ens33
    # 保证主备节点一致即可
    virtual_router_id 14
    # 权重:这里是MASTER用100
    priority 100
    # 主备之间同步检查时间间隔,单位秒
    advert_int 2
    # 认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟出来的ip,可以有多个(vip):这里是另一个vip
    virtual_ipaddress {
        192.168.192.14
    }
    track_script {
        check_nginx_alive   # 追踪 nginx 脚本
    }
}

可以看到有了两个vrrp_instance VI_1和vrrp_instance VI_2,其中 VI_1 对应vip192.168.192.13,该节点为BACKUP, VI_2对应vip192.168.192.14,该节点为MASTER.配置刚好跟另一个节点相反。

3、重启

systemctl restart keepalived

注:这里我安装好keepalived并没有将系统配置文件拷贝至系统 etc文件依然可以直接用这个命令,可能是我这个版本比较高的原因,如果发现用不了这个命令,建议拷贝下

cp init.d/keepalived /etc/init.d/
cp sysconfig/keepalived /etc/sysconfig/
#刷新系统服务
systemctl daemon-reload

4、检查

重启后,通过ip addr查看ens33中的ip,根据上面的配置,理论上11上会有11和13,12上会有12和14.

192.168.192.11

inet 192.168.192.11/24 brd 192.168.192.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.192.13/32 scope global ens33
       valid_lft forever preferred_lft forever

192.168.192.12

inet 192.168.192.12/24 brd 192.168.192.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.192.14/32 scope global ens33
       valid_lft forever preferred_lft forever

跟预期一样,接下来我们直接在浏览器访问192.168.192.13和192.168.192.14(这里假设已经通过DNS轮训获取了对应的ip)

看结果是跟预期一样的,毕竟配置的13对应11是MASTER,14对应的12是MASTER

5、模拟异常

我们有做健康检测脚本,只要nginx挂了,keepalived会尝试去拉取,拉取失败会kill掉自己,这里就不搞那么复杂,直接把11的keepalived给关了

systemctl stop keepalived

我们再看12的ip,肯定会发现13,14都在

inet 192.168.192.12/24 brd 192.168.192.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.192.14/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.192.13/32 scope global ens33
       valid_lft forever preferred_lft forever

浏览器访问也会发现只剩下12了。

完结!

相关推荐

windows远程桌面(远程桌面app安卓版)

要在WindowsServer2016上开启远程桌面服务,您可以按照以下步骤操作:1.**打开服务器管理器**:您需要登录到您的WindowsServer2016系统。2.**启用远程桌面...

网盘app下载安装(雀云网盘app下载安装)

因为这时的文件只是下载到云盘里,并没有下载到手机里,而在云盘里是不能执行安装程序的,需要把云盘里的安装包,下载到手机内存里面,才可以执行安装命令。现在相当于,你的快递已经在驿站签收了,随时都可以拿回来...

隐藏文件夹不显示(隐藏文件夹不显示出来)

如果,可能是文件被删除或移动到其他位置。隐藏文件是指在文件系统中设置了隐藏属性的文件,通过更改文件夹的设置可以显示或隐藏这些文件。如果文件夹显示隐藏文件的设置已经开启,但仍然找不到文件,可能是因为文件...

强制修改密码软件下载(强制密码修改器)

1.首先找回账户密码(适用于Android设备):如果您的设备与账户关联,可以访问账户的“找回密码”功能,通过重置密码来修改锁屏密码。2.使用其他登录方式(适用于iOS设备):如果您启用了Touch...

苹果ipad充不进电怎么办(苹果ipad充不进去电什么原因)

如果你发现你的iPad不能充电,那么你这样试一下,你看是不是充电的温度太低,你给他拿到一个比较温暖的房间里去,第2个就是你换一个充电器试一试,是不是那个充电器坏了,如果还不行的话,你可以把iPad重新...

无法正常启动0xc000005(无法正常启动你的电脑0xc0000001)

如果手机下载安装的第三方应用出现问题,无法正常使用,三星手机一般建议进行以下步骤排查及处理:1.关闭重新启动该应用。2.建议将此软件卸载重新安装尝试。3.更换其他版本尝试。4.更新下手机系统版本后安装...

无线网登录(无线网登录入口)

1.打开手机浏览器,访问192.168.0.1,输入用户名和密码就可以进入路由器管理界面。2.手机wifi连接路由器信号之后,会弹出对话框,需要输入用户名和密码(有的路由器只需要密码)。3.正确的输入...

恢复精灵免费版(恢复精灵app软件下载)

一般都是收费的。建议选择正规的软件。推荐你用《安易》数据恢复软件。聊天恢复精灵不需要电脑。因为聊天恢复精灵是属于线上的应用程序,只需要在电子设备里面下载安装聊天恢复精灵软件就可以直接使用不靠谱手机数据...

苹果系统官网下载地址(iphone官网ios下载)

PP助手、同步推等手机助手都可以下载已经下架的应用,这类助手有很多,一搜一大把,而且就我知道的PP助手还能选择下载历史版本,当然也有部分应用是没在商店上架的,他们是通过企业证书公布自己的应用,需要到官...

win10桌面切换(w10系统桌面切换)
win10桌面切换(w10系统桌面切换)

     win10桌面1和桌面2快速切换方法:1.按住win按键按键盘的【win】按键。2.再按Tab按键同时按下【tab】按键。3.点击桌面选项点击界面的桌面选项完成切换。具体方...

2025-12-19 23:51 off999

下载qq号安装(下载qq安装包)
下载qq号安装(下载qq安装包)

QQ不能更新和下载,可尝试一下办法:1,使用数据线,将手机和电脑连接,然后从电脑端下载,保证你不闪退,不掉线。2,将你手机桌面的QQ图标删除,彻底删除.从AppStore里下载.注:在你不联机的状态下,你可能用别的助手会闪退问题,推荐从...

2025-12-19 23:03 off999

系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
笔记本电脑上网卡多少钱一个月

收费有好几种!1.按流量收费,这适合不怎么上网看电影,下载的人.(想用就用,而且价格便宜)2.按小时收费,用电脑的无线连移动的无线,那有说明。(10元40小时/每月,20元100小时/每月等等,还是手...

电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
一键重装系统后一直黑屏(电脑一键重装系统后黑屏)

黑屏故障一般有四种情况:一,全黑。主机、显示器(包括指示灯)均不亮二,显示器的指示灯亮,主机的指示灯不亮三,显示器与主机的指示灯均亮且开关电源冷却风扇也正常旋转,但显示器不显示。四,动态黑屏,开机时显...

取消回复欢迎 发表评论: