阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Redis主从配置及通过Keepalived实现Redis自动切换高可用

441次阅读
没有评论

共计 12680 个字符,预计需要花费 32 分钟才能阅读完成。

一:环境介绍:

Master: 192.168.1.4

Slave: 192.168.1.5

Virtural IP Address (VIP): 192.168.1.253

二:设计思路:

当 Master 与 Slave 均运作正常时, Master 负责服务,Slave 负责 Standby;

当 Master 挂掉,Slave 正时, Slave 接管服务,同时关闭主从复制功能;

当 Master 恢复正常,则从 Slave 同步数据,同步数据之后关闭主从复制功能,恢复 Master 身份,于此同时 Slave 等待 Master 同步数据完成之后,恢复 Slave 身份。

然后依次循环。

需要注意的是,这样做需要在 Master 与 Slave 上都开启本地化策略,否则在互相自动切换的过程中,未开启本地化的一方会将另一方的数据清空,造成数据完全丢失。

三:安装配置前准备工作

1. 在主服务器 192.168.1.4 上面做下面操作

echo “192.168.1.4 test01” >> /etc/hosts

echo “192.168.1.5 test” >> /etc/hosts

2. 在从服务器 192.168.1.5 上面做下面操作

echo “192.168.1.4 test01” >> /etc/hosts

echo “192.168.1.5 test” >> /etc/hosts

 

四:主服务器配置 redis

1. 下载安装 redis 软件包

wget http://download.redis.io/releases/redis-2.8.12.tar.gztar xf redis-2.8.12.tar.gz

cd redis-2.8.12

make && make install

cd src/

cp redis-server redis-cli redis-benchmark redis-check-aof redis-check-dump /usr/local/bin

cd /usr/local/bin

ls -ll

然后将源码中的 redis.conf 复制到 /etc/redis.conf

cp /root/redis-2.8.12/redis.conf /etc/redis.conf

修改 /etc/redis.conf 里面可以把  daemonize no 修改为 daemonize yes

就可以默认在后台执行 redis-server 了。

 

再制作一个 init.d 的启动脚本:

vim /etc/init.d/redis-server

#!/usr/bin/env bash

#

# redis start up the redis server daemon

#

# chkconfig: 345 99 99

# description: redis service in /etc/init.d/redis \

#            chkconfig –add redis or chkconfig –list redis \

#            service redis start  or  service redis stop

# processname: redis-server

# config: /etc/redis.conf

 

PATH=/usr/local/bin:/sbin:/usr/bin:/bin

 

REDISPORT=6379

EXEC=/usr/local/bin/redis-server

REDIS_CLI=/usr/local/bin/redis-cli

 

PIDFILE=/var/run/redis.pid

CONF=”/etc/redis.conf”

#make sure some dir exist

if [! -d /var/lib/redis] ;then

    mkdir -p /var/lib/redis

    mkdir -p /var/log/redis

fi

 

case “$1” in

    status)

        ps -A|grep redis

        ;;

    start)

        if [-f $PIDFILE]

        then

                echo “$PIDFILE exists, process is already running or crashed”

        else

                echo “Starting Redis server…”

                $EXEC $CONF

        fi

        if [“$?”=”0”]

        then

              echo “Redis is running…”

        fi

        ;;

    stop)

        if [! -f $PIDFILE]

        then

                echo “$PIDFILE does not exist, process is not running”

        else

                PID=$(cat $PIDFILE)

                echo “Stopping …”

                $REDIS_CLI -p $REDISPORT SHUTDOWN

                while [-x ${PIDFILE} ]

              do

                    echo “Waiting for Redis to shutdown …”

                    sleep 1

                done

                echo “Redis stopped”

        fi

        ;;

  restart|force-reload)

        ${0} stop

        ${0} start

        ;;

  *)

    echo “Usage: /etc/init.d/redis {start|stop|restart|force-reload}” >&2

        exit 1

esac

chmod o+x /etc/init.d/redis-server

chkconfig –add redis-server

service redis-server start

————————————– 分割线 ————————————–

Ubuntu 14.04 下 Redis 安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm

Redis 集群明细文档 http://www.linuxidc.com/Linux/2013-09/90118.htm

Ubuntu 12.10 下安装 Redis(图文详解)+ Jedis 连接 Redis http://www.linuxidc.com/Linux/2013-06/85816.htm

Redis 系列 - 安装部署维护篇 http://www.linuxidc.com/Linux/2012-12/75627.htm

CentOS 6.3 安装 Redis http://www.linuxidc.com/Linux/2012-12/75314.htm

Redis 配置文件 redis.conf 详解 http://www.linuxidc.com/Linux/2013-11/92524.htm

CentOS 6.3 下 Haproxy+Keepalived+Apache 配置笔记 http://www.linuxidc.com/Linux/2013-06/85598.htm

Haproxy + KeepAlived 实现 WEB 群集 on CentOS 6 http://www.linuxidc.com/Linux/2012-03/55672.htm

Keepalived+Haproxy 配置高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/56748.htm

Haproxy+Keepalived 构建高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/55880.htm

————————————– 分割线 ————————————–

五:从发服务器配置 redis 

从服务器,配置一样,只不过 修改 /etc/redis.conf 中

slaveof <masterip> <masterport> 修改为

slaveof 192.168.1.4 6379

然后开启从服务器的 redis 服务。

start redis-server start

 

六:进行 redis 主从测试

# 主服务器

redis-cli -p 6379 set hello world

# 从服务器

redis-cli -p 6379 get hello

“world”

 

# 主服务器

redis-cli -p 6379 set hello world2

# 从服务器

redis-cli -p 6379 get hello

“world2”

redis-cli -p 6379 set hello world

(error) READONLY You can’t write against a read only slave.

成功配置主从 redis 服务器,由于配置中有一条从服务器是只读的,所以从服务器没法设置数据,只可以读取数据。

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-07/104552p2.htm

七:安装和配置 keepalived

1. 在 Master 和 Slave 上安装 Keepalived

$ yum install keepalived -y

2. 默认安装完成 keepalived 之后是没有配置文件的,因此我们需要手动创建:

首先,在 Master 上创建如下配置文件:

$  vim /etc/keepalived/keepalived.conf

 

! Configuration File for keepalived

 

vrrp_script chk_redis {

    script “/etc/keepalived/scripts/redis_check.sh”    ### 监控脚本 

    interval 2                                          ### 监控时间

    }

 

vrrp_instance VI_1 {

    state MASTER                ### 设置为 MASTER 

    interface eth1                ### 监控网卡   

    virtual_router_id 51

    priority 100            ### 权重值 

    authentication {

        auth_type PASS        ### 加密 

        auth_pass 1111        ### 密码

    }

 

track_script {

    chk_redis            ### 执行上面定义的 chk_redis 

    }

 

    virtual_ipaddress {

        192.168.1.253        ######VIP

    }

 

        notify_master /etc/keepalived/scripts/redis_master.sh

        notify_backup /etc/keepalived/scripts/redis_backup.sh

        notify_fault  /etc/keepalived/scripts/redis_fault.sh

        notify_stop  /etc/keepalived/scripts/redis_stop.sh

}

3. 然后,在 Slave 上创建如下配置文件:

$ vim /etc/keepalived/keepalived.conf

 

! Configuration File for keepalived

 

vrrp_script chk_redis {

    script “/etc/keepalived/scripts/redis_check.sh”    ### 监控脚本 

    interval 2                  ### 监控时间

    }

 

vrrp_instance VI_1 {

    state BACKUP        ### 设置为 BACKUP 

    interface eth1      ### 监控网卡

    virtual_router_id 51

    priority 10          ### 比 MASTRE 权重值低 

    authentication {

        auth_type PASS

        auth_pass 1111        ### 密码与 MASTRE 相同 

    }

 

track_script {

    chk_redis        ### 执行上面定义的 chk_redis 

    }

 

    virtual_ipaddress {

        192.168.1.253  ####vip

    }

 

        notify_master /etc/keepalived/scripts/redis_master.sh

        notify_backup /etc/keepalived/scripts/redis_backup.sh

        notify_fault  /etc/keepalived/scripts/redis_fault.sh

        notify_stop  /etc/keepalived/scripts/redis_stop.sh

 

}

4. 在 Master 和 Slave 上创建监控 Redis 的脚本

$  mkdir /etc/keepalived/scripts

$  vim /etc/keepalived/scripts/redis_check.sh

 

#!/bin/bash 

ALIVE=`/usr/local/bin/redis-cli PING` 

if [“$ALIVE” == “PONG”]; then

echo $ALIVE 

exit 0 

else

echo $ALIVE 

exit 1 

fi

5. 编写以下负责运作的关键脚本:

notify_master /etc/keepalived/scripts/redis_master.sh

notify_backup /etc/keepalived/scripts/redis_backup.sh

notify_fault /etc/keepalived/scripts/redis_fault.sh

notify_stop /etc/keepalived/scripts/redis_stop.sh

因为 Keepalived 在转换状态时会依照状态来呼叫:

当进入 Master 状态时会呼叫 notify_master

当进入 Backup 状态时会呼叫 notify_backup

当发现异常情况时进入 Fault 状态呼叫 notify_fault

当 Keepalived 程序终止时则呼叫 notify_stop

1) 首先,在 Redis Master 上创建 notity_master 与 notify_backup 脚本:

$  vim /etc/keepalived/scripts/redis_master.sh

 

#!/bin/bash

REDISCLI=”/usr/local/bin/redis-cli”

LOGFILE=”/var/log/keepalived-redis-state.log”

echo “[master]” >> $LOGFILE

date >> $LOGFILE

echo “Being master….” >> $LOGFILE 2>&1

 

echo “Run SLAVEOF cmd …” >> $LOGFILE

$REDISCLI SLAVEOF 192.168.1.5 6379 >> $LOGFILE  2>&1

sleep 10 #延迟 10 秒以后待数据同步完成后再取消同步状态 

 

echo “Run SLAVEOF NO ONE cmd …” >> $LOGFILE

$REDISCLI SLAVEOF NO ONE >> $LOGFILE 2>&1

$  vim /etc/keepalived/scripts/redis_backup.sh

 

 

#!/bin/bash 

REDISCLI=”/usr/local/bin/redis-cli”

LOGFILE=”/var/log/keepalived-redis-state.log”

 

echo “[backup]” >> $LOGFILE

date >> $LOGFILE

echo “Being slave….” >> $LOGFILE 2>&1

 

sleep 15 #延迟 15 秒待数据被对方同步完成之后再切换主从角色 

echo “Run SLAVEOF cmd …” >> $LOGFILE

$REDISCLI SLAVEOF 192.168.1.5 6379 >> $LOGFILE  2>&1

2) 在 Redis Slave 上创建 notity_master 与 notify_backup 脚本:

$  vim /etc/keepalived/scripts/redis_master.sh

 

 

#!/bin/bash 

REDISCLI=”/usr/local/bin/redis-cli”

LOGFILE=”/var/log/keepalived-redis-state.log”

 

echo “[master]” >> $LOGFILE

date >> $LOGFILE

echo “Being master….” >> $LOGFILE 2>&1

 

echo “Run SLAVEOF cmd …” >> $LOGFILE

$REDISCLI SLAVEOF 192.168.1.4 6379 >> $LOGFILE  2>&1

sleep 10 #延迟 10 秒以后待数据同步完成后再取消同步状态 

 

echo “Run SLAVEOF NO ONE cmd …” >> $LOGFILE

$REDISCLI SLAVEOF NO ONE >> $LOGFILE 2>&1

$  vim /etc/keepalived/scripts/redis_backup.sh

 

 

#!/bin/bash 

REDISCLI=”/usr/local/bin/redis-cli”

LOGFILE=”/var/log/keepalived-redis-state.log”

 

echo “[backup]” >> $LOGFILE

date >> $LOGFILE

echo “Being slave….” >> $LOGFILE 2>&1

 

sleep 15 #延迟 15 秒待数据被对方同步完成之后再切换主从角色 

echo “Run SLAVEOF cmd …” >> $LOGFILE

$REDISCLI SLAVEOF 192.168.1.4 6379 >> $LOGFILE  2>&1

3) 然后在 Master 与 Slave 创建如下相同的脚本:

$  vim /etc/keepalived/scripts/redis_fault.sh

 

#!/bin/bash 

LOGFILE=/var/log/keepalived-redis-state.log

echo “[fault]” >> $LOGFILE

date >> $LOGFILE

$  vim /etc/keepalived/scripts/redis_stop.sh

 

 

#!/bin/bash 

LOGFILE=/var/log/keepalived-redis-state.log

echo “[stop]” >> $LOGFILE

date >> $LOGFILE

6. 在主从服务器上面给脚本都加上可执行权限:

$  chmod +x /etc/keepalived/scripts/*.sh

7. 进行相关功能测试

启动 Master 和 slave 上的 Redis

$  /etc/init.d/redis start

启动 Master 和 slave 上的 Keepalived

$  /etc/init.d/keepalived start

 

尝试通过 VIP 连接 Redis:

$ redis-cli -h 192.168.0.253 INFO

连接成功,Slave 也连接上来了。

role:master

slave0:192.168.1.5,6379,online

尝试插入一些数据:

$ redis-cli -h 192.168.0.253 SET Hello Redis

OK

 

从 VIP 读取数据

$ redis-cli -h 192.168.0.253 GET Hello

“Redis”

从 Master 读取数据

$ redis-cli -h 192.168.0.1 GET Hello

“Redis”

从 Slave 读取数据

$ redis-cli -h 192.168.0.2 GET Hello

“Redis”

8. 通过模拟相关故障,进行功能测试

将 Master 上的 Redis 进程杀死:

$  killall -9 redis-server

查看 Master 上的 Keepalived 日志

$ tail -f /var/log/keepalived-redis-state.log

[fault]

Thu Sep 27 08:29:01 CST 2012

 

同时 Slave 上的日志显示:

$ tail -f /var/log/keepalived-redis-state.log

[master]

2014 年 07 月 07 日 星期一 16:42:52 CST

Being master….

Run SLAVEOF cmd …

OK Already connected to specified master

Run SLAVEOF NO ONE cmd …

OK

然后我们可以发现,Slave 已经接管服务,并且担任 Master 的角色了。

$ redis-cli -h 192.168.1.253 INFO

$ redis-cli -h 192.168.1.5 INFO

role:master

 

然后我们恢复 Master 的 Redis 进程

$  /etc/init.d/redis start

查看 Master 上的 Keepalived 日志

$ tail -f /var/log/keepalived-redis-state.log

[master]

2014 年 07 月 07 日 星期一 16:48:08 CST

Being master….

Run SLAVEOF cmd …

OK

Run SLAVEOF NO ONE cmd …

OK

同时 Slave 上的日志显示:

$ tail -f /var/log/keepalived-redis-state.log

[backup]

Fri Sep 28 14:16:37 CST 2012

Being slave….

Run SLAVEOF cmd …

OK

发现目前的 Master 已经再次恢复了 Master 的角色,故障切换以及自动恢复都成功了。

Redis 的详细介绍 :请点这里
Redis 的下载地址 :请点这里

一:环境介绍:

Master: 192.168.1.4

Slave: 192.168.1.5

Virtural IP Address (VIP): 192.168.1.253

二:设计思路:

当 Master 与 Slave 均运作正常时, Master 负责服务,Slave 负责 Standby;

当 Master 挂掉,Slave 正时, Slave 接管服务,同时关闭主从复制功能;

当 Master 恢复正常,则从 Slave 同步数据,同步数据之后关闭主从复制功能,恢复 Master 身份,于此同时 Slave 等待 Master 同步数据完成之后,恢复 Slave 身份。

然后依次循环。

需要注意的是,这样做需要在 Master 与 Slave 上都开启本地化策略,否则在互相自动切换的过程中,未开启本地化的一方会将另一方的数据清空,造成数据完全丢失。

三:安装配置前准备工作

1. 在主服务器 192.168.1.4 上面做下面操作

echo “192.168.1.4 test01” >> /etc/hosts

echo “192.168.1.5 test” >> /etc/hosts

2. 在从服务器 192.168.1.5 上面做下面操作

echo “192.168.1.4 test01” >> /etc/hosts

echo “192.168.1.5 test” >> /etc/hosts

 

四:主服务器配置 redis

1. 下载安装 redis 软件包

wget http://download.redis.io/releases/redis-2.8.12.tar.gztar xf redis-2.8.12.tar.gz

cd redis-2.8.12

make && make install

cd src/

cp redis-server redis-cli redis-benchmark redis-check-aof redis-check-dump /usr/local/bin

cd /usr/local/bin

ls -ll

然后将源码中的 redis.conf 复制到 /etc/redis.conf

cp /root/redis-2.8.12/redis.conf /etc/redis.conf

修改 /etc/redis.conf 里面可以把  daemonize no 修改为 daemonize yes

就可以默认在后台执行 redis-server 了。

 

再制作一个 init.d 的启动脚本:

vim /etc/init.d/redis-server

#!/usr/bin/env bash

#

# redis start up the redis server daemon

#

# chkconfig: 345 99 99

# description: redis service in /etc/init.d/redis \

#            chkconfig –add redis or chkconfig –list redis \

#            service redis start  or  service redis stop

# processname: redis-server

# config: /etc/redis.conf

 

PATH=/usr/local/bin:/sbin:/usr/bin:/bin

 

REDISPORT=6379

EXEC=/usr/local/bin/redis-server

REDIS_CLI=/usr/local/bin/redis-cli

 

PIDFILE=/var/run/redis.pid

CONF=”/etc/redis.conf”

#make sure some dir exist

if [! -d /var/lib/redis] ;then

    mkdir -p /var/lib/redis

    mkdir -p /var/log/redis

fi

 

case “$1” in

    status)

        ps -A|grep redis

        ;;

    start)

        if [-f $PIDFILE]

        then

                echo “$PIDFILE exists, process is already running or crashed”

        else

                echo “Starting Redis server…”

                $EXEC $CONF

        fi

        if [“$?”=”0”]

        then

              echo “Redis is running…”

        fi

        ;;

    stop)

        if [! -f $PIDFILE]

        then

                echo “$PIDFILE does not exist, process is not running”

        else

                PID=$(cat $PIDFILE)

                echo “Stopping …”

                $REDIS_CLI -p $REDISPORT SHUTDOWN

                while [-x ${PIDFILE} ]

              do

                    echo “Waiting for Redis to shutdown …”

                    sleep 1

                done

                echo “Redis stopped”

        fi

        ;;

  restart|force-reload)

        ${0} stop

        ${0} start

        ;;

  *)

    echo “Usage: /etc/init.d/redis {start|stop|restart|force-reload}” >&2

        exit 1

esac

chmod o+x /etc/init.d/redis-server

chkconfig –add redis-server

service redis-server start

————————————– 分割线 ————————————–

Ubuntu 14.04 下 Redis 安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm

Redis 集群明细文档 http://www.linuxidc.com/Linux/2013-09/90118.htm

Ubuntu 12.10 下安装 Redis(图文详解)+ Jedis 连接 Redis http://www.linuxidc.com/Linux/2013-06/85816.htm

Redis 系列 - 安装部署维护篇 http://www.linuxidc.com/Linux/2012-12/75627.htm

CentOS 6.3 安装 Redis http://www.linuxidc.com/Linux/2012-12/75314.htm

Redis 配置文件 redis.conf 详解 http://www.linuxidc.com/Linux/2013-11/92524.htm

CentOS 6.3 下 Haproxy+Keepalived+Apache 配置笔记 http://www.linuxidc.com/Linux/2013-06/85598.htm

Haproxy + KeepAlived 实现 WEB 群集 on CentOS 6 http://www.linuxidc.com/Linux/2012-03/55672.htm

Keepalived+Haproxy 配置高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/56748.htm

Haproxy+Keepalived 构建高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/55880.htm

————————————– 分割线 ————————————–

五:从发服务器配置 redis 

从服务器,配置一样,只不过 修改 /etc/redis.conf 中

slaveof <masterip> <masterport> 修改为

slaveof 192.168.1.4 6379

然后开启从服务器的 redis 服务。

start redis-server start

 

六:进行 redis 主从测试

# 主服务器

redis-cli -p 6379 set hello world

# 从服务器

redis-cli -p 6379 get hello

“world”

 

# 主服务器

redis-cli -p 6379 set hello world2

# 从服务器

redis-cli -p 6379 get hello

“world2”

redis-cli -p 6379 set hello world

(error) READONLY You can’t write against a read only slave.

成功配置主从 redis 服务器,由于配置中有一条从服务器是只读的,所以从服务器没法设置数据,只可以读取数据。

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-07/104552p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计12680字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7963108
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛 NAS-1:安装飞牛 NAS 前言 在家庭和小型工作室场景中,NAS(Network Atta...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...