从零搭建:轻量服务器博客部署实录
背景 手头有一台 4核4G 的轻量云服务器(Debian 13),想搭一个纯静态的技术博客。要求很简单:低资源占用、HTTPS、自动续期证书、页脚挂备案号。 方案选型 服务器上已经装了 1Panel 面板和 Docker 版 OpenResty,所以不再额外安装 Nginx,直接复用现有的 OpenResty 容器做反向代理和静态文件服务。静态博客不需要数据库、不需要 PHP,资源占用几乎为零。 Web 服务:复用 1Panel 的 OpenResty(Docker 容器,宿主机目录挂载进容器) 证书:acme.sh 申请 Let’s Encrypt 证书,HTTP-01 验证,自动续期 站点文件:纯 HTML/CSS,放 /opt/1panel/www/sites/域名/index/ 关键配置 站点配置放在 /opt/1panel/www/conf.d/ 下,这个目录被挂载到容器内 /usr/local/openresty/nginx/conf/conf.d/,主配置会自动 include 它: server { listen 80; server_name example.com www.example.com; # 保留 ACME 验证路径,续期时要用 location ~ /.well-known/acme-challenge { allow all; root /www/sites/example.com/index; } # 其余请求全部跳转 HTTPS location / { return 301 https://example.com$request_uri; } } server { listen 443 ssl; http2 on; server_name example.com www.example.com; root /www/sites/example.com/index; ssl_certificate /usr/local/openresty/nginx/conf/ssl/example/fullchain.pem; ssl_certificate_key /usr/local/openresty/nginx/conf/ssl/example/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; } 证书自动续期 acme.sh 安装证书时通过 --reloadcmd 指定续期后的重载命令,之后完全无需人工干预: ...