下级分类
服务器与部署基础设施
服务器、部署、容器与运行环境。
专题分组
下级分类
服务器与部署自动续签ssl证书
这篇笔记记录了用 acme.sh 为域名自动申请和续签 Let’s Encrypt SSL 证书的完整配置过程,重点场景是通过 DNS-01 验证签发 jacin.me 及其通配符证书,适合需要为泛域名部署 HTTPS 的站点维护者或运维人员。操作从安装 acme.sh、加载环境变量开始,随后切换默认 CA 到 Let’s Encrypt、注册账号,并以 Cloudflare 为例说明如何创建具备 Edit zone DNS 权限的 API Token,提醒 Token 只显示一次需要提前保存。配置部分使用 CF_Token 与 CF_Account_ID 作为 dns_cf 插件的凭证,执行 acme.sh --issue -d jacin.me -d '*.jacin.me' --dns dns_cf 后会在 ~/.acme.sh/jacin.me_ecc/ 下生成证书、私钥、中间证书和 fullchain.cer。文章还说明了如何通过 crontab 检查 acme.sh 自动续签任务,把 Cloudflare 凭证写入 account.conf 以便后续续签复用,并用 acme.sh --list 查看证书创建时间和 Renew 时间。续签机制上,acme.sh 会在到期续签时把新证书覆盖到原路径,因此 Nginx 只要引用 fullchain.cer 和对应 key,并在续签后执行 nginx -s reload 或 systemctl reload nginx,就能让新 TLS 握手平滑切换到新证书而不影响已有连接。
服务器与部署设置ssh密码登录
这份操作记录面向需要在 Linux 服务器上临时或明确启用 SSH 密码登录的场景,核心目标是修改 OpenSSH 服务端配置,使其监听 2222 端口、允许 root 直接登录,并开启密码与 PAM 相关认证。正文先通过备份 /etc/ssh/sshd_config 保留回退点,再用重写配置文件的方式设置 Port、PermitRootLogin、PasswordAuthentication、ChallengeResponseAuthentication、UsePAM 和 sftp 子系统路径,随后用 passwd 为 root 设置密码并重启 ssh 服务使配置生效。由于开放密码登录和 root 登录会增加暴力破解风险,记录进一步补充了 fail2ban 的安装与基础防护配置,用于对 SSH 登录失败行为进行自动封禁。fail2ban 部分强调不要直接修改 jail.conf,而是在 /etc/fail2ban/jail.local 中覆盖默认项,设置 systemd 后端、3600 秒封禁时间、600 秒检测窗口、5 次最大重试,并将 sshd jail 的端口同步为 2222。最后给出重启、启用 fail2ban 以及查看 sshd jail 状态的命令,并记录当 status sshd 提示 jail 不存在时,可安装 python3-systemd 作为排查处理方向。整体更适合有基础 Linux 运维经验、需要快速恢复密码登录或为非标准 SSH 端口增加基础防护的用户参考,但实际使用时仍应谨慎评估 root 密码登录带来的安全边界。
服务器与部署哪吒面板安装与使用
这份笔记围绕哪吒面板的自建部署、客户端接入、反代加速和基础监控配置展开,适合想用探针集中查看多台 Linux 主机状态的个人用户或运维实践者。服务端部分采用官方脚本以 Docker 方式安装 Dashboard,安装时需要设置站点标题、公开访问端口和后台语言,并注意该端口同时承担 Web 界面、gRPC 与 WebSocket 通信用途,完成后再修改后台密码。客户端接入通过个人中心填写 Agent 对接地址生成安装命令,作者示例未开启 TLS,随后将命令复制到各台 Linux 客户端执行即可完成 Agent 上报。反代部分给出 Cloudflare CDN 配合 Nginx 的配置思路,分别处理 Web、gRPC 和 WebSocket 路径,并提醒用于 CDN 访问的域名不要与 Agent 对接地址混用。配置时主要替换 server_name、Dashboard 本地回源端口、证书路径和真实 IP 头;若 Nginx 位于最外层,还需要按注释调整 nz-realip、X-Forwarded-Proto 等相关设置。最后以 HTTP GET 和 Ping 为例创建监控服务,用于检查站点可用性和观察指定线路的回程延迟,读者可以据此快速搭起一个带 CDN 访问入口和基础监控能力的哪吒面板环境。
服务器与部署搭建minio与配置cdn
这是一份将自建 MinIO 对象存储暴露为可公开访问资源源站,并通过 Cloudflare CDN 加速的配置记录,适合需要替代云对象存储、托管静态文件或图片资源的个人站点与小型服务。文章特别强调新版 MinIO 镜像因开源策略调整导致 UI 中缺少桶设置入口,因此部署时固定使用 RELEASE.2025-04-22T22-12-26Z,并通过 Docker Compose 暴露 9000 的 S3 API 与 9001 的 Console 管理端口。反向代理部分采用子域名方案,用 Nginx 分别将 cos/cdn 域名转发到对象访问端口、将 minio 域名转发到控制台,同时配置 HTTPS、上传大小限制、关闭代理缓冲以及 Console 所需的 WebSocket 升级头。权限配置围绕 public 桶展开,通过自定义匿名策略只允许 s3:GetObject 访问 public/*,从而实现对象可读但不开放桶列表,降低公开存储带来的目录泄露风险。最后在 Cloudflare 中创建 CDN 域名,将 CNAME 指向源站 cos.jacin.me 并开启代理缓存,使访问路径从自建 MinIO 源站扩展为带 CDN 的静态资源分发链路。整篇内容更偏实操备忘,读者可直接复用其中的版本选择、Nginx 分流配置、桶策略和 Cloudflare 接入思路,但需要按自己的域名、证书路径、账号密码与端口环境调整。
服务器与部署部署与配置matomo
这份记录聚焦于用 Docker Compose 自托管部署 Matomo,并将 MySQL 8.2 作为独立数据库服务接入,适合作为个人站点或小型站点接入访问统计前的配置清单。正文先给出 MySQL 容器的 compose 配置,包括镜像版本、容器名、自动重启、3306 端口映射、初始化数据库与用户密码、宿主机数据卷挂载,以及加入外部 Docker 网络的方式,并明确需要先通过 docker network create 创建 mynetwork。随后单独部署 Matomo 容器,配置 58733 到 80 的端口映射、matomo_data 数据卷、数据库主机名指向 MySQL 容器名,以及数据库用户名、密码和库名等连接参数。文章还记录了运行后的资源观察:访问量上升时 Matomo 和 MySQL 的内存占用会增长,MySQL 预留约 500MB 内存是必要的,因此部署前需要考虑服务器余量。相关配置部分补充了 trusted_hosts 的处理方式,既可以通过 docker exec 追加 config.ini.php 并重启容器,也可以进入 Matomo 界面配置域名。最后还涉及隐私与安全设置,包括访客 IP 显示/隐藏选项,以及因安全原因到数据库查询 matomo_user、修改用户名和邮箱、删除匿名用户等后续处理。
Nginx 配置
这份笔记围绕 Ubuntu 环境下的 Nginx 日常部署与配置展开,先梳理它作为 Web 服务器、反向代理、负载均衡、内容缓存和邮件代理的常见用途,并说明 Nginx 主要工作在应用层,而 NAT 属于网络层的地址映射机制。安装部分记录了 apt 安装、systemctl 查看状态、whereis 定位程序,以及 /etc/nginx、/etc/nginx/sites-available、/var/log/nginx、/var/www/html 等关键目录,适合用于快速确认服务文件和配置入口。配置解释部分重点说明 user、worker_processes、error_log、pid、events、worker_connections、http、MIME 类型和 log_format 等指令的作用,并提醒生产环境中让 worker 进程以 root 运行会带来较高安全风险。样例 nginx.conf 展示了多个 server 块的组合用法,包括 HTTP 到 HTTPS 的 301 跳转、不同域名反向代理到本地端口、静态目录 alias、媒体文件匹配、Gzip 压缩、代理头传递、关闭缓冲、超时设置和 client_max_body_size 限制。证书部分给出从下载证书、合并 crt、重命名私钥、检查并移除 UTF-8 BOM,到放入 /etc/nginx/ssl、调整属主与 chmod 600 权限的操作链路。整体更像一份部署备忘录,适合后端开发或运维在配置 HTTPS 站点、代理本地应用、排查连接数和日志问题时对照使用。
服务器与部署Cloudflare证书
这篇笔记梳理 Cloudflare 场景下几类容易混淆的 TLS 证书及其通信方向:边缘证书部署在 Cloudflare CDN 边缘节点,负责浏览器到 Cloudflare 的 HTTPS 入口;源站证书安装在自有服务器上,负责 Cloudflare 回源到 Origin Server 时的加密与校验。文章用“用户→边缘→源站”的链路解释了边缘层的含义,并指出边缘证书带来的低延迟握手、缓存可用性、HTTPS 强制、HSTS、WAF 与规则处理等收益。配置部分区分了 Flexible、Full 和 Full strict:Flexible 只保证用户到 Cloudflare 加密,Full 回源使用 HTTPS 但不验证证书,Full strict 则会验证源站证书,通常适合配合 Cloudflare Origin Certificate 使用。需要注意的是,Origin Certificate 不是公共 CA 签发,只被 Cloudflare 信任,适合回源链路,不适合让浏览器或公网客户端直接访问。文章还拆分了两类“客户端证书”场景:Authenticated Origin Pulls 是 Cloudflare 向源站出示证书,由源站验证请求确实来自 Cloudflare,以降低绕过 CDN 直打源站的风险;访问者侧 mTLS 则要求 API 客户端或受限用户向 Cloudflare 提供客户端证书,用于管理后台、内部 API 等访问控制。整体适合正在配置 Cloudflare SSL/TLS、回源 HTTPS、源站防护或 mTLS 的站点维护者与后端/运维人员,用来建立证书类型、验证主体和部署位置之间的清晰对应关系。
服务器与部署cloudfare配置内网穿透
这篇记录围绕 Cloudflare Tunnel 搭建内网穿透展开,适用于希望把本地 FastAPI、管理后台或前端开发服务通过自有域名暴露到公网、但没有公网 IP 或不想做路由器端口映射的场景。流程从域名接入 Cloudflare 开始:先在原域名服务商关闭 DNSSEC,再把 NS 修改为 Cloudflare 提供的 Name Servers,并可用 dnschecker 检查 NS 是否已切换成功,因为 Cloudflare 的域名验证主要依赖 NS 接管而不是添加 TXT 记录。正文随后记录 cloudflared 的安装验证、tunnel login 授权、创建 tunnel,以及通过 config.yml 的 ingress 把 api、admin、web 等不同 hostname 映射到 localhost 的不同端口。一个 tunnel 可以承载多个服务,但每个 hostname 仍需分别创建 DNS 路由,既可在控制台添加 CNAME,也可用 cloudflared tunnel route dns 自动生成指向 cfargotunnel.com 的记录。文章还说明接入 Cloudflare 后 Universal SSL 会自动为域名签发并续期 HTTPS 证书,通常无需手动管理证书。排障部分强调 DNS 和隧道生效可能存在延迟,QUIC 连接失败多与 UDP 7844 被阻断有关,可改用 HTTP/2;若访问出现 502,则常见原因是本地目标服务未启动。最后补充了长期运行方式:cloudflared tunnel run 只是前台进程,生产或长期访问应改用系统服务或 nohup,并在修改 config.yml 后重启 cloudflared 才能让新配置生效。
服务器与部署picgo配置cloudflare-r2
这篇记录聚焦于用 PicGo 搭配 Cloudflare R2 搭建博客图床,并通过 Cloudflare 缓存规则改善图片访问速度。配置部分选择的是 wayjam 维护的 picgo-plugin-s3,而不是泛泛说明 S3 协议本身,核心操作是在 PicGo 插件市场安装对应版本后,按 R2/S3 存储参数完成上传配置。文章特别强调上传路径的命名方式,示例为 blog/img/{year}/{month}/{md5}-{timestamp}.{extName},利用年份、月份、MD5、时间戳和扩展名组合,让对象路径尽量唯一,避免后续缓存命中与文件更新之间产生混淆。完成上传路径后,还需要设置 PicGo 的输出 URL,使上传后的图片能按自定义 CDN 域名路径被博客引用。后半部分转向 Cloudflare 后台的 Cache TTL 自定义规则,因为文件数量增多时每次加载可能变慢,作者通过匹配访问路径并设置缓存时间,让首次访问之后的图片加载更快。整体适合已经具备 PicGo、Cloudflare 域名和 R2 存储基础的用户参考,重点价值在于串起上传、URL 输出和边缘缓存三段链路,而不是从零解释 R2 或 S3 的所有概念。
服务器与部署minio配置
这份笔记面向 MinIO 对象存储的初始配置与公开读取场景,重点把控制台操作和 S3 客户端接入参数对应起来。创建本地用户时,user_name 可作为 MINIO_ACCESS_KEY,password 可作为 MINIO_SECRET_KEY,MINIO_ENDPOINT_URL 通常填写反向代理后的对象存储地址;如果直接用 IP 访问,则需要带上 9000 端口,区域在无特殊配置时可使用 auto。权限体系部分区分了 Users、Groups、OpenID 和 LDAP:本地用户适合直接分配 IAM policy,组用于批量继承权限,OpenID 适合接入 Keycloak、Auth0 等身份提供商实现 SSO,LDAP/AD 则便于复用企业账号和组映射。桶配置部分解释了 Custom Access Policy、服务器端加密、跨集群复制、对象锁、标签和配额等开关的含义,帮助判断哪些能力只是当前禁用,哪些需要按合规、同步或容量管理需求启用。公开文件读取策略示例只允许 GetBucketLocation 和 GetObject,并将对象资源限定在 public 桶下,同时明确不放行 ListBucket,避免匿名用户枚举桶内对象列表。适合正在把 MinIO 作为 S3 兼容存储接入应用、需要配置访问密钥、桶策略和基础权限边界的开发或运维人员参考。