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

Linux基于Heartbeat配置httpd高可用服务

468次阅读
没有评论

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

Heartbeat 是一个基于 Linux 开源的,被广泛使用的高可用集群系统。我们可以基于 Heartbeat 构建 web 高可用服务环境。本文在 CentOS 6.5 下做了一个简单示例,并对其日志进行了初步分析,供大家参考。

有关 Heartbeat 的相关知识,可以参考:

Heartbeat 集群组件概述 http://www.linuxidc.com/Linux/2015-11/125210.htm

Heartbeat 安装及配置 http://www.linuxidc.com/Linux/2015-11/125211.htm

一、配置 host 解析及网络
### 主机名配置,与 /etc/hosts 中的解析两者配置保持一致
[root@orasrv1 ~]# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=orasrv1.xlk.com

[root@orasrv1 ~]# more /etc/hosts

127.0.0.1 localhost.localdomain localhost

#public ip
192.168.21.10 orasrv1.xlk.com orasrv1    ###node 1
192.168.21.13 orasrv2.xlk.com orasrv2    ###node 2

#private ip
192.168.144.128 orasrv1-priv.xlk.com orasrv1-priv
192.168.144.129 orasrv2-priv.xlk.com orasrv2-priv

[root@orasrv1 ~]# scp /etc/hosts orasrv2:/etc/hosts

[root@orasrv1 ~]# ifconfig |grep eth -A1
eth0      Link encap:Ethernet  HWaddr 00:0C:29:35:31:E5  #eth0 对外提供服务
          inet addr:192.168.21.10  Bcast:192.168.21.255  Mask:255.255.255.0

eth1      Link encap:Ethernet  HWaddr 00:0C:29:35:31:EF  #eth1 用作心跳网络
          inet addr:192.168.144.128  Bcast:192.168.144.255  Mask:255.255.255.0

二、配置等效性
### 节点 1
# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ”
# ssh-copy-id -i ./.ssh/id_rsa.pub root@192.168.21.13
# ssh orasrv2 date;ssh 192.168.21.13 date;

### 节点 2
# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ”
# ssh-copy-id -i ./.ssh/id_rsa.pub root@192.168.21.10
# ssh orasrv1 date;ssh 192.168.21.10 date;

三、配置时间同步
此处略。可以参考:配置 Linux 11G R2 RAC NTP 服务

四、安装 httpd
节点 1:orasrv1
    # yum install httpd
    # service httpd start  ### 启动服务
    # echo “orasrv1.xlk.com” >>/var/www/html/index.html
    ### 打开浏览器看看能否正常访问,http://192.168.21.10/index.html
    ### 如能正常访问,关闭服务,关闭自启动
    # service httpd stop
    # chkconfig httpd off

    节点 2:orasrv2
    # yum install httpd
    # service httpd start  ### 启动服务
    # echo “orasrv2.xlk.com” >>/var/www/html/index.html
    ### 打开浏览器看看能否正常访问,http://192.168.21.13/index.html
    ### 如能正常访问,关闭服务,关闭自启动
    # service httpd stop
    # chkconfig httpd off 

五、配置 heartbeat
1、配置认证方式
    [root@orasrv1 ~]# vi /etc/ha.d/authkeys |grep -v ^#
    auth 1
    1 md5 74a6a503b5bec9373b22bb630608df41  ### 使用 md5 验证

    [root@orasrv1 ~]# chmod 600 /etc/ha.d/authkeys

2、配置 ha.cf 
    [root@orasrv1 ~]# vi /etc/ha.d/ha.cf
    logfile /var/log/ha-log
    keepalive      2
    deadtime        15
    warntime        10
    initdead        60
    udpport        694
    bcast          eth1
    auto_failback  off
    node orasrv1.xlk.com
    node orasrv2.xlk.com
    ping 192.168.21.254
    #respawn hacluster  /usr/lib64/heartbeat/ipfail

3、配置 haresources
    [root@orasrv1 ~]# vi /etc/ha.d/haresources
    orasrv1.xlk.com IPaddr::192.168.21.1/24/eth0 httpd

4、同步到第二节点 
    # scp -p /etc/ha.d/{ha.cf,authkeys,haresources} 192.168.21.13:/etc/ha.d/

六、验证测试
1、节点 1 启动 heartbeat
### 备注:本样例并未使用到共享文件系统,如配置 drbd,或者 nfs 等。
[root@orasrv1 ~]# service heartbeat start
Starting High-Availability services:
2015/11/06_11:46:51 INFO:  Resource is stopped ### 此处提示资源处于停止状态
Done.

### 以下为基于节点 1 上的日志分析
[root@orasrv1 ~]# tail -fn 50 /var/log/ha-log
heartbeat[4373]: 2015/11/06_11:46:51 info: Version 2 support: false
heartbeat[4373]: 2015/11/06_11:46:51 WARN: Logging daemon is disabled –enabling logging daemon is recommended
heartbeat[4373]: 2015/11/06_11:46:51 info: **************************
heartbeat[4373]: 2015/11/06_11:46:51 info: Configuration validated. Starting heartbeat 2.1.4
heartbeat[4374]: 2015/11/06_11:46:51 info: heartbeat: version 2.1.4
heartbeat[4374]: 2015/11/06_11:46:52 info: Heartbeat generation: 1446714158
heartbeat[4374]: 2015/11/06_11:46:52 info: glib: UDP Broadcast heartbeat started on port 694 (694) interface eth0
heartbeat[4374]: 2015/11/06_11:46:52 info: glib: UDP Broadcast heartbeat closed on port 694 interface eth0 – Status: 1
heartbeat[4374]: 2015/11/06_11:46:52 info: glib: ping heartbeat started.
heartbeat[4374]: 2015/11/06_11:46:52 info: G_main_add_TriggerHandler: Added signal manual handler
heartbeat[4374]: 2015/11/06_11:46:52 info: G_main_add_TriggerHandler: Added signal manual handler
heartbeat[4374]: 2015/11/06_11:46:52 info: G_main_add_SignalHandler: Added signal handler for signal 17
heartbeat[4374]: 2015/11/06_11:46:52 info: Local status now set to: ‘up’
heartbeat[4374]: 2015/11/06_11:46:52 info: Link 192.168.21.254:192.168.21.254 up.
heartbeat[4374]: 2015/11/06_11:46:52 info: Status update for node 192.168.21.254: status ping
heartbeat[4374]: 2015/11/06_11:46:52 info: Link orasrv1.xlk.com:eth0 up.
heartbeat[4374]: 2015/11/06_11:47:52 WARN: node orasrv2.xlk.com: is dead
### 上面的日志可以看出节点 1 上的 heartbeat 已经成功启动,此时尚未开始分配资源
### 紧接着下面的提示节点 2 处于死亡状态,其时间间隔为 60s(46:52s~47:52s),即我们配置文件中的 initdead
### 也就是说等待 1 分钟还没有探测到对方心跳,此时认为节点 2 死亡,注意,这里的死亡不等同于 deadtime

### 下面开始资源分配
heartbeat[4374]: 2015/11/06_11:47:52 info: Comm_now_up(): updating status to active
heartbeat[4374]: 2015/11/06_11:47:52 info: Local status now set to: ‘active’
heartbeat[4374]: 2015/11/06_11:47:52 WARN: No STONITH device configured.
heartbeat[4374]: 2015/11/06_11:47:52 WARN: Shared disks are not protected.
heartbeat[4374]: 2015/11/06_11:47:52 info: Resources being acquired from orasrv2.xlk.com.
harc[4385]:    2015/11/06_11:47:52 info: Running /etc/ha.d/rc.d/status status
mach_down[4419]:        2015/11/06_11:47:52 info: /usr/share/heartbeat/mach_down: nice_failback: foreign resources acquired
mach_down[4419]:        2015/11/06_11:47:52 info: mach_down takeover complete for node orasrv2.xlk.com.
heartbeat[4374]: 2015/11/06_11:47:52 info: Initial resource acquisition complete (T_RESOURCES(us))
heartbeat[4374]: 2015/11/06_11:47:52 info: mach_down takeover complete.
IPaddr[4457]:  2015/11/06_11:47:52 INFO:  Resource is stopped
heartbeat[4386]: 2015/11/06_11:47:52 info: Local Resource acquisition completed.
harc[4518]:    2015/11/06_11:47:52 info: Running /etc/ha.d/rc.d/ip-request-resp ip-request-resp
ip-request-resp[4518]:  2015/11/06_11:47:52 received ip-request-resp IPaddr::192.168.21.1/24/eth0 OK yes
ResourceManager[4537]:  2015/11/06_11:47:52 info: Acquiring resource group: orasrv1.xlk.com IPaddr::192.168.21.1/24/eth0 httpd
IPaddr[4563]:  2015/11/06_11:47:52 INFO:  Resource is stopped ### 上一条日志获取资源组,下一条日志启动资源
ResourceManager[4537]:  2015/11/06_11:47:52 info: Running /etc/ha.d/resource.d/IPaddr 192.168.21.1/24/eth0 start
IPaddr[4658]:  2015/11/06_11:47:53 INFO: Using calculated netmask for 192.168.21.1: 255.255.255.0
IPaddr[4658]:  2015/11/06_11:47:53 INFO: eval ifconfig eth0:0 192.168.21.1 netmask 255.255.255.0 broadcast 192.168.21.255
IPaddr[4629]:  2015/11/06_11:47:53 INFO:  Success ###vip 分配成功
ResourceManager[4537]:  2015/11/06_11:47:53 info: Running /etc/init.d/httpd  start ### 开启 httpd 服务
heartbeat[4374]: 2015/11/06_11:48:03 info: Local Resource acquisition completed. (none)
heartbeat[4374]: 2015/11/06_11:48:03 info: local resource transition completed.

### 验证 VIP 分配,如下,eth0:0 上已获得 VIP
[root@orasrv1 ~]# ifconfig |grep eth -A1
eth0      Link encap:Ethernet  HWaddr 00:0C:29:35:31:E5 
          inet addr:192.168.21.10  Bcast:192.168.21.255  Mask:255.255.255.0

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:35:31:E5 
          inet addr:192.168.21.1  Bcast:192.168.21.255  Mask:255.255.255.0

eth1      Link encap:Ethernet  HWaddr 00:0C:29:35:31:EF 
          inet addr:192.168.144.128  Bcast:192.168.144.255  Mask:255.255.255.0

### 验证 httpd 服务,如下,此时透过 VIP 访问到主页,从 orasrv1,即节点 1 返回数据
http://192.168.21.1/index.html
orasrv1.xlk.com

2、节点 2 启动 heartbeat
[root@orasrv2 ~]# service heartbeat start
Starting High-Availability services:
2015/11/06_11:50:22 INFO:  Resource is stopped
Done.

### 下面的日志为节点 1,继续跟踪节点 1 的日志
### 从下面的日志可以得知 orasrv2.xlk.com: status up 以及 remote resource transition completed
heartbeat[4374]: 2015/11/06_11:50:23 info: Link orasrv2.xlk.com:eth0 up.
heartbeat[4374]: 2015/11/06_11:50:23 info: Status update for node orasrv2.xlk.com: status init
heartbeat[4374]: 2015/11/06_11:50:23 info: Status update for node orasrv2.xlk.com: status up
harc[4809]:    2015/11/06_11:50:23 info: Running /etc/ha.d/rc.d/status status
harc[4825]:    2015/11/06_11:50:23 info: Running /etc/ha.d/rc.d/status status
heartbeat[4374]: 2015/11/06_11:50:25 info: Status update for node orasrv2.xlk.com: status active
harc[4840]:    2015/11/06_11:50:25 info: Running /etc/ha.d/rc.d/status status
heartbeat[4374]: 2015/11/06_11:50:25 info: remote resource transition completed.

3、节点 1 停止 heartbeat
### 通过下面的命令来停止节点 1 上的 heartbeat
[root@orasrv1 ~]# service heartbeat stop
Stopping High-Availability services:
Done.

### 此时继续观察节点 1 的日志变化情况
heartbeat[4374]: 2015/11/06_11:53:13 info: Heartbeat shutdown in progress. (4374)
heartbeat[4873]: 2015/11/06_11:53:13 info: Giving up all HA resources. ### 节点 1 开始放弃资源
ResourceManager[4886]:  2015/11/06_11:53:14 info: Releasing resource group: orasrv1.xlk.com IPaddr::192.168.21.1/24/eth0 httpd
ResourceManager[4886]:  2015/11/06_11:53:14 info: Running /etc/init.d/httpd  stop ### 停止 httpd 服务
ResourceManager[4886]:  2015/11/06_11:53:14 info: Running /etc/ha.d/resource.d/IPaddr 192.168.21.1/24/eth0 stop
IPaddr[4975]:  2015/11/06_11:53:14 INFO: ifconfig eth0:0 down
IPaddr[4946]:  2015/11/06_11:53:14 INFO:  Success
heartbeat[4873]: 2015/11/06_11:53:14 info: All HA resources relinquished.
### 所有的 HA 资源在节点 1 放弃完毕,下面开始 kill heartbeat 相关进程
heartbeat[4374]: 2015/11/06_11:53:15 WARN: 1 lost packet(s) for [orasrv2.xlk.com] [95:97]
heartbeat[4374]: 2015/11/06_11:53:15 info: No pkts missing from orasrv2.xlk.com!
heartbeat[4374]: 2015/11/06_11:53:16 info: killing HBREAD process 4381 with signal 15
heartbeat[4374]: 2015/11/06_11:53:16 info: killing HBFIFO process 4377 with signal 15
heartbeat[4374]: 2015/11/06_11:53:16 info: killing HBWRITE process 4378 with signal 15
heartbeat[4374]: 2015/11/06_11:53:16 info: killing HBREAD process 4379 with signal 15
heartbeat[4374]: 2015/11/06_11:53:16 info: killing HBWRITE process 4380 with signal 15
heartbeat[4374]: 2015/11/06_11:53:16 info: Core process 4378 exited. 5 remaining
heartbeat[4374]: 2015/11/06_11:53:16 info: Core process 4379 exited. 4 remaining
heartbeat[4374]: 2015/11/06_11:53:16 info: Core process 4381 exited. 3 remaining
heartbeat[4374]: 2015/11/06_11:53:16 info: Core process 4377 exited. 2 remaining
heartbeat[4374]: 2015/11/06_11:53:16 info: Core process 4380 exited. 1 remaining
heartbeat[4374]: 2015/11/06_11:53:16 info: orasrv1.xlk.com Heartbeat shutdown complete.

### 观察节点 2,此时也获取 VIP
[root@orasrv2 ~]# ifconfig |grep eth -A1
eth0      Link encap:Ethernet  HWaddr 00:0C:29:F1:2E:E4  #Author : Leshami
          inet addr:192.168.21.13  Bcast:192.168.21.255  Mask:255.255.255.0

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:F1:2E:E4  #Blog : http://blog.csdn.net/leshami
          inet addr:192.168.21.1  Bcast:192.168.21.255  Mask:255.255.255.0

eth1      Link encap:Ethernet  HWaddr 00:0C:29:F1:2E:EE 
          inet addr:192.168.144.129  Bcast:192.168.144.255  Mask:255.255.255.0

### 验证 httpd 服务,如下,此时透过 VIP 访问到主页,从 orasrv2,即节点 2 返回数据
http://192.168.21.1/index.html
orasrv2.xlk.com     

4、使用 hb_standby 切换
### 下面通过 hb_standby 将服务切换回节点 1,切换前启动节点 1 上的 heartbeat
[root@orasrv2 ~]# /usr/share/heartbeat/hb_standby
2015/11/06_11:56:05 Going standby [all].

### 继续跟踪节点 1 的日志
heartbeat[5114]: 2015/11/06_11:55:23 info: Version 2 support: false
heartbeat[5114]: 2015/11/06_11:55:23 WARN: Logging daemon is disabled –enabling logging daemon is recommended
heartbeat[5114]: 2015/11/06_11:55:23 info: **************************
heartbeat[5114]: 2015/11/06_11:55:23 info: Configuration validated. Starting heartbeat 2.1.4
heartbeat[5115]: 2015/11/06_11:55:23 info: heartbeat: version 2.1.4
heartbeat[5115]: 2015/11/06_11:55:23 info: Heartbeat generation: 1446714159
heartbeat[5115]: 2015/11/06_11:55:23 info: glib: UDP Broadcast heartbeat started on port 694 (694) interface eth0
heartbeat[5115]: 2015/11/06_11:55:23 info: glib: UDP Broadcast heartbeat closed on port 694 interface eth0 – Status: 1
heartbeat[5115]: 2015/11/06_11:55:23 info: glib: ping heartbeat started.
heartbeat[5115]: 2015/11/06_11:55:23 info: G_main_add_TriggerHandler: Added signal manual handler
heartbeat[5115]: 2015/11/06_11:55:23 info: G_main_add_TriggerHandler: Added signal manual handler
heartbeat[5115]: 2015/11/06_11:55:23 info: G_main_add_SignalHandler: Added signal handler for signal 17
heartbeat[5115]: 2015/11/06_11:55:23 info: Local status now set to: ‘up’
heartbeat[5115]: 2015/11/06_11:55:23 info: Link 192.168.21.254:192.168.21.254 up.
heartbeat[5115]: 2015/11/06_11:55:23 info: Status update for node 192.168.21.254: status ping
heartbeat[5115]: 2015/11/06_11:55:23 info: Link orasrv1.xlk.com:eth0 up.
heartbeat[5115]: 2015/11/06_11:55:25 info: Link orasrv2.xlk.com:eth0 up.
heartbeat[5115]: 2015/11/06_11:55:25 info: Status update for node orasrv2.xlk.com: status active
harc[5124]:    2015/11/06_11:55:25 info: Running /etc/ha.d/rc.d/status status
heartbeat[5115]: 2015/11/06_11:55:25 info: Comm_now_up(): updating status to active
heartbeat[5115]: 2015/11/06_11:55:25 info: Local status now set to: ‘active’
heartbeat[5115]: 2015/11/06_11:55:26 info: remote resource transition completed.
heartbeat[5115]: 2015/11/06_11:55:26 info: remote resource transition completed.
heartbeat[5115]: 2015/11/06_11:55:26 info: Local Resource acquisition completed. (none)
heartbeat[5115]: 2015/11/06_11:55:26 info: Initial resource acquisition complete (T_RESOURCES(them))
### 上面的日志表面,此时节点 1 已经启动完毕,并且 2 节点均处于活动状态

### 下面是开启 hb_standby 之后输出的日志信息,所有的资源被节点 1 接管
heartbeat[5115]: 2015/11/06_11:56:06 info: orasrv2.xlk.com wants to go standby [all]
heartbeat[5115]: 2015/11/06_11:56:06 info: standby: acquire [all] resources from orasrv2.xlk.com
heartbeat[5143]: 2015/11/06_11:56:06 info: acquire all HA resources (standby).
ResourceManager[5156]:  2015/11/06_11:56:06 info: Acquiring resource group: orasrv1.xlk.com IPaddr::192.168.21.1/24/eth0 httpd
IPaddr[5182]:  2015/11/06_11:56:06 INFO:  Resource is stopped
ResourceManager[5156]:  2015/11/06_11:56:06 info: Running /etc/ha.d/resource.d/IPaddr 192.168.21.1/24/eth0 start
IPaddr[5277]:  2015/11/06_11:56:06 INFO: Using calculated netmask for 192.168.21.1: 255.255.255.0
IPaddr[5277]:  2015/11/06_11:56:06 INFO: eval ifconfig eth0:0 192.168.21.1 netmask 255.255.255.0 broadcast 192.168.21.255
IPaddr[5248]:  2015/11/06_11:56:06 INFO:  Success
ResourceManager[5156]:  2015/11/06_11:56:06 info: Running /etc/init.d/httpd  start
heartbeat[5143]: 2015/11/06_11:56:07 info: all HA resource acquisition completed (standby).
heartbeat[5115]: 2015/11/06_11:56:07 info: Standby resource acquisition done [all].
heartbeat[5115]: 2015/11/06_11:56:07 info: remote resource transition completed.

七、小结
a、对于集群上节点之间的切换实质上是资源的接管,通常包括 VIP 分配回收,磁盘卸载挂载,以及服务的启停等。
b、对于备用节点,其相应的共享磁盘(非严格意义上) 不可读写,服务处于停止状态。

基于 Heartbeat V1 实现 Web 服务双机热备 http://www.linuxidc.com/Linux/2014-04/100635.htm

Heartbeat 实现 Web 服务的高可用群集 http://www.linuxidc.com/Linux/2014-04/99503.htm

Heartbeat+LVS+Ldirectord 高可用负载均衡解决方案 http://www.linuxidc.com/Linux/2014-04/99502.htm

DRBD+Heartbeat+NFS 高可用性配置笔记 http://www.linuxidc.com/Linux/2014-04/99501.htm

Heartbeat 基于 CRM 使用 NFS 对 MySQL 高可用 http://www.linuxidc.com/Linux/2014-03/98674.htm

Heartbeat 高可用 httpd 基于 Resources 简单配置 http://www.linuxidc.com/Linux/2014-03/98672.htm

CentOS 6 高可用服务 Heartbeat v3 安装以及配置  http://www.linuxidc.com/Linux/2015-04/116153.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-11/125212.htm

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

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7987734
文章搜索
热门文章
星哥带你玩飞牛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-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...

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

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

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

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...