精选文章
从 Cloudflare 11.18 全局崩溃事件深度剖析:分布式系统中的容错哲学与配置管理实践
Vibe Coding 实战指南:与 AI 共创、保持流畅、持续成长
iptables 简易使用手册
iptables 简易使用手册
iptables 是一个强大而灵活的 Linux 防火墙工具,用于管理网络包过滤和网络地址转换 (NAT)。它基于 Netfilter 框架工作,允许你定义详细的规则来管理入站和出站流量。
1. 查看现有规则
-
查看所有表的规则:
sudo iptables -L -
查看特定链(例如
INPUT链)的规则:sudo iptables -L INPUT
2. 允许或拒绝端口
-
允许某个端口(例如允许 22 端口的 SSH 流量):
UFW 简易使用手册
UFW 简易使用手册
ufw(Uncomplicated Firewall)是 Ubuntu 的默认防火墙管理工具,旨在简化防火墙配置。ufw是一个对iptables的封装,简化了防火墙规则的配置。它适合那些不需要深入配置复杂防火墙策略的用户,易于使用并提供友好的命令行接口。ufw背后实际使用的也是iptables,因此它本质上是简化了iptables的配置过程。
Perttier 使用
Perttier 使用
官网
安装
# 全局安装
npm install -g prettier
# or
yarn global add pretter
# 项目中安装
npm install --save-dev --save-exact prettier
#or
yarn add prettier --dev --exact配置
配置的位置
-
package.json中的perttier字段 -
JSON 或者 YAML 格式的
.prettierrc -
.prettierrc.json,.prettierrc.yml,.prettierrc.yaml,.prettierrc.json5 -
.prettierrc.js,.prettierrc.cjs,prettierrc.config.js,prettierrc.config.cjs
{
"tabWidth": 2, // tab缩进大小,默认为2
"useTabs": true, // 使用tab缩进,默认false
"semi": false, // 使用分号, 默认true
"singleQuote": true, // 使用单引号, 默认false(在jsx中配置无效, 默认都是双引号)
"TrailingCooma": "none", // 行尾逗号,默认none,可选 none|es5|all,es5 包括es5中的数组、对象,all 包括函数对象等所有可选
"bracketSpacing": true, // 对象中的空格 默认true
"jsxBracketSameLine": false, // JSX标签闭合位置 默认false
"arrowParens": "avoid", // 箭头函数参数括号,默认avoid 可选 avoid| always,avoid 能省略括号的时候就省略 例如x => x,always 总是有括号
"htmlWhitespaceSensitivity": "strict" //html空格严格程度,可选<css|strict|ignore>
}配置文件的位置从被格式化的文件的位置找起,然后沿着文件系统向上寻找。注意,prettier 没有全局的配置文件。
HTTP 协议:从基础到高级通信模式
HTTP(HyperText Transfer Protocol)是 Web 的基础协议,浏览器与服务器之间的每一次交互都依赖它。本文从基础模型出发,逐步覆盖状态管理、安全加密、协议演进,以及 SSE 和 WebSocket 等高级通信模式。
HTTP 基础
通信模型
HTTP 采用客户端-服务器(C/S)模型,通信过程是一问一答:
- 客户端(浏览器)发起请求(Request)
- 服务器处理后返回响应(Response)
- 连接断开(HTTP/1.1 默认 keep-alive 可复用连接)
HTTP 是无状态协议——服务器不会记住之前的请求。每次请求都是独立的,服务器不知道"这个用户是谁"。
Kubernetes集群安装
安装
我们只是搭建一个 mini 的类似于真实的 kubernetes 环境,用来自己学习,我们也可以选择安装 minikube
安装前的准备工作
-
修改 hostname,因为 kubernetes 使用 hostname 来区分集群
sudo vim /etc/hostname -
使用 docker 作为容器运行时,kubernetes 支持多种容器运行时,使用 docker 比较方便。
cat <<EOF | sudo tee /etc/docker/daemon.json { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } EOF sudo systemctl enable docker sudo systemctl daemon-reload sudo systemctl restart docker -
修改 iptables 的配置,启用"br_netfilter"
Zabbix 入门
安装

这里选用了如上的配置
1. 安装 Zabbix repository
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo apt update2. 安装 Zabbix server,Web 前端,agent
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent3. 创建初始数据库
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;4. 导入初始架构和数据
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix5. 配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
正则表达式入门
元字符
特殊单字符
. 任意字符,不包括换行

\d 任意的数字

\D 任意的非数字

\w 任意的字母、数字、下划线

\W 非字母、数字、下划线

\s 空白符号

\S 非空白符号

空白符号
-
\r回车 -
\n换行 -
\f换页 -
\t制表符 -
\v垂直制表符 -
\s任意空白符\s能匹配上各种空白符号,也可以匹配上空格。换行有专门的表示方式,在正则中,空格就是用普通的字符英文的空格来表示。
Keeplived 高可用
Keepalived 高可用
keepalived
- 解决单点故障
- 故障自动转移
- 实现高可用机制
- 基于 VRRP 协议,虚拟路由冗余协议,解决内网单机故障的协议,构建多个路由的 Master、backup,虚拟 IP 地址。
keepalived 双机主备

安装
去官网(https://www.keepalived.org/)下载源代码编译安装。
