跳转至

2026#

沙龙

登高峰一秒 登高峰一秒

得奖一秒 得奖一秒

再破纪录的一秒 再破纪录的一秒

港湾晚灯 港湾晚灯

山顶破晓 山顶破晓

摘下怀念 记住美妙 摘下怀念 记住美妙

升职那刻 升职那刻

新婚那朝 新婚那朝

成为父母的一秒 成为父母的一秒

其实 人生并非虚耗 何来尘埃飞舞


Nginx 配置文件

Nginx 的配置文件通常位于 */nginx/nginx.conf

基础配置示例

# ------------------------------
# 全局配置
# ------------------------------

worker_processes  auto;                # 设置工作进程数,通常建议等于 CPU 核心数

# ------------------------------
# events 块:定义连接处理相关参数
# ------------------------------

events {
    worker_connections  1024;       # 每个 worker 进程允许的最大连接数
}

# ------------------------------
# HTTP 配置块
# ------------------------------
http {
    # 常用 MIME 类型定义
    include       mime.types;
    default_type  application/octet-stream;

    # 文件传输优化
    sendfile        on;     # 高效传输静态文件
    tcp_nopush      on;     # 避免分片发送小包
    tcp_nodelay     on;     # 减少延迟
    keepalive_timeout  65;  # 长连接超时时间(秒)

    # 安全和性能
    server_tokens   off;    # 禁止显示 Nginx 版本号

    gzip            on;     # 启用 Gzip 压缩,提高传输效率
    gzip_min_length 1k;     # 小于 1KB 的文件不压缩
    gzip_comp_level 9;      # 压缩等级 1~9
    gzip_types              # 压缩特定类型的文件
        text/plain
        text/css
        application/javascript
        application/json
        image/svg+xml
        font/woff2;

    # 临时文件路径(可以统一管理缓冲区)
    client_body_temp_path  /temp/client_body;
    proxy_temp_path        /temp/proxy;
    fastcgi_temp_path      /temp/fastcgi;
    uwsgi_temp_path        /temp/uwsgi;
    scgi_temp_path         /temp/scgi;

    # ------------------------------
    # Server 配置
    # ------------------------------
    server {
        # 监听端口
        listen 80;
        listen [::]:80;

        # 域名
        server_name example.com;

        # 默认字符集
        charset utf-8;

        # ==============================
        # 私有文件目录(需鉴权,不缓存)
        # ==============================
        location /private/ {
            alias /var/www/private/;      # 实际存放路径
            autoindex on;                 # 启用目录浏览
            autoindex_exact_size off;     # 文件大小格式化显示
            autoindex_localtime on;       # 显示本地时间

            # HTTP 基本鉴权
            auth_basic "Auth Login";
            auth_basic_user_file /etc/nginx/passwd.dat;

            # 禁用缓存
            add_header Cache-Control "no-store, no-cache, must-revalidate, private";
            add_header Pragma "no-cache";
            expires -1;
        }

        # ==============================
        # 公共文件目录(浏览,不缓存)
        # ==============================
        location /public/ {
            alias /var/www/public/;
            autoindex on;
            autoindex_exact_size off;
            autoindex_localtime on;

            # 禁用缓存
            add_header Cache-Control "no-store, no-cache, must-revalidate";
            add_header Pragma "no-cache";
            expires -1;
        }

        # 网站根目录
        root /var/www/html/website;

        # ==============================
        # 错误页面配置
        # ==============================
        error_page 404 /404.html;   # 当请求不存在页面时返回 404.html
        location = /404.html {
            internal;               # 内部调用,用户无法直接访问
        }

        # ==============================
        # 主站(静态页面)
        # ==============================
        location / {
            index index.html;         # 默认首页
        }

        # ==============================
        # 静态资源缓存(图片/图标/字体/JS/CSS)
        # ==============================
        location ~* \.(jpg|jpeg|png|gif|webp|svg|ico|woff2|js|css)$ {
            root /var/www/html/website;

            # 浏览器缓存 1 周
            expires 7d;
            add_header Cache-Control "public";

            # 关闭访问日志(减轻 IO 压力)
            access_log off;
        }
    }
}

Mac 强开 Apple AI

在 MacOS 上强制开启 Apple Intelligence

基础要求

  1. 机型:必须是 M1 及以上的 Mac 电脑。

  2. 系统版本:需要安装 macOS 15.4 或更高版本

  3. 必须拥有一个非国区的 iCloud 账号

Apple Music

更改 Apple Music 播放列表所有者

只要你是一个善于更换名字的人🥺,你就会发现 Apple Music 国区的播放列表的所有者名字会并不会跟随你的账单或者 iCloud 用户名更换,并且还没有地方可以修改😅???但是外区的就可以修改,这就非常狗血了,连这个也要阉割吗🫪???

好在这个问题是可以解决的😎,只需要将账户的国家/地区更换到不受限制的国家就行了,但是更改账户的国家/地区有些麻烦。所以找到一个懒人方法,用这个「快捷方式」更换国家,我一般选的是美国。

Bandizip

Bandizip - 最后的辉煌

  1. 点击下载安装包 Bandizip, 解压密码 1111

MySQL 使用小全

安装最新版

  1. 更新软件包并安装 MySQL 服务器,安装过程中会自动启动MySQL服务。

    sudo apt update
    sudo apt install mysql-server
    
  2. 检查服务状态

    sudo systemctl status mysql
    
  3. 运行安全安装脚本,设置 root 密码并移除匿名用户等。

    sudo mysql_secure_installation
    
  4. 登录 MySQL,使用之前设置的 root 密码。

    mysql -u root -p
    

GitHub 徽章

技术栈徽

  1. ![Docker](https://img.shields.io/badge/Docker-Ready-blue)
    
    ![Nginx](https://img.shields.io/badge/Nginx-ReverseProxy-green)
    
    ![Linux](https://img.shields.io/badge/Linux-Ubuntu-orange)
    
    ![OpenWrt](https://img.shields.io/badge/OpenWrt-Supported-green)
    

    Docker Nginx Linux OpenWrt

  2. ![Skills](https://skillicons.dev/icons?i=linux,apple,windows,markdown,docker,nginx,git,python,cloudflare)
    

    Skills

WireGuard

引言

这篇文章算是进阶或者改善异地组网的文章, 最主要的目的就是为了改善 OpenVPN 的速度和延迟问题。

对比内容 WireGuard OpenVPN
速度 / 吞吐 通常最快
常比 OpenVPN 快 2–4 倍
较慢
即使 UDP 模式也
延迟 极低 较高
CPU 占用 非常低
ChaCha20-Poly1305 现代高效算法
较高
尤其无 AES-NI 加速时
移动设备续航 优秀, 切换网络/休眠唤醒快 较差, 耗电明显
重连速度
/ 握手
极快, <1秒, 通常瞬间完成 较慢, 几秒到十几秒
TCP 支持 只支持 UDP 支持 TCP 和 UDP
TCP 443 伪装 HTTPS 能力强
端口伪装
/ 绕过
较难伪装, 固定 UDP 极强, 可走 443 / TCP, 像 HTTPS 流量
兼容性 几乎所有主流平台原生支持, 包括内核级 非常广泛, 老设备、路由器、企业设备支持更好
NAT 穿越
/ 断线重连
优秀, 内置 roaming 支持 一般, 需额外 keepalive 配置

Nginx 反向代理

最基础的反向代理配置

server {
    listen 80;
    server_name localhost;

    location / {
        proxy_pass http://liwanr.com;

        proxy_set_header Host liwanr.com;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_ssl_server_name on;
    }
}