[{"content":"前情提要 我最近给我那1核2G的云服务器扩到了3M带宽。\n没过几天就在日志里发现一个海外IP扫了我几百次，查了一下威胁等级10/10。我的服务器正在被全世界的扫描器当靶子打！\n于是我开始给它加固：配置防火墙,配置黑名单，搞监控随时看资源——这些故事以后可以单独写一篇。总之，等它\u0026quot;强壮\u0026quot;起来后，我开始想：能不能用这台小服务器干点正事？\n比如，存点照片之类的。\n为什么不用某度网盘 理由很简单：\nbyd的不冲会员给我跑不到1mbps的下载速度 还要提防我珍贵的照片哪一天被删掉了 不想每次都登陆 软件太臃肿 ………还有更多 怎么选 选什么自托管相册 网上搜了一圈自托管相册，选项还挺多:\n软件 资源要求 Immich 内存建议4G+ PhotoPrism 内存建议2G+ Piwigo 最低1G内存 Kopia 极低，无Web界面 考虑到我服务器只有2G内存，还要跑博客和监控，piwigo无疑是最好选择 什么? 你问我为什么不选Kopia?\n我记不住命令 搭建过程（踩坑实录） 装环境 我服务器是debian系统,先装一个LNMP全家桶：\nsudo apt update sudo apt install nginx mariadb-server php-fpm php-mysql php-gd php-mbstring php-xml php-zip php-curl -y MariaDB装好后，进去创建数据库和用户：\nCREATE DATABASE piwigo_db; CREATE USER \u0026#39;piwigo_user\u0026#39;@\u0026#39;localhost\u0026#39; IDENTIFIED BY \u0026#39;你的密码\u0026#39;; GRANT ALL PRIVILEGES ON piwigo_db.* TO \u0026#39;piwigo_user\u0026#39;@\u0026#39;localhost\u0026#39;; FLUSH PRIVILEGES; EXIT; 下载Piwigo（第一个坑） 去官网下载最新版，结果用wget直接下载一直404。后来发现中文站的链接可能失效，老老实实去英文站下，然后英文站链接也失效,我只能自己下到本地再传回服务器\n# 本地下载后上传 scp 你下载的文件名 user@你的服务器IP:/var/www/ cd /var/www sudo unzip piwigo-14.5.0.zip sudo mv piwigo photos sudo chown -R www-data:www-data /var/www/photos 配置Nginx 创建站点配置文件/etc/nginx/sites-available/photos：\nserver { listen 80; server_name photos.your-domain.com; root /var/www/photos; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~ \\.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; #看你自己php是第几个版本,这里我以8.2举例子 } } 然后启用配置：\nsudo ln -s /etc/nginx/sites-available/photos /etc/nginx/sites-enabled/ sudo nginx -t \u0026amp;\u0026amp; sudo systemctl reload nginx 访问安装界面 浏览器打开 http://photos.your-domain.com，结果给我502 Bad Gateway（记得在域名dns解析里添加A记录photos）\n先查Nginx错误日志：\nsudo tail -f /var/log/nginx/error.log 发现是connect() to unix:/var/run/php/php-fpm.sock failed。检查PHP-FPM状态：\nsudo systemctl status php8.2-fpm 居然没启动！赶紧sudo systemctl start php8.2-fpm。再试，还是502?\n后来发现fastcgi_pass路径写错了，应该是/var/run/php/php8.2-fpm.sock（之前少写了版本号）。改完重启，终于不502了。\nCDN的SSL坑 本地访问没问题，但通过域名就是打不开。查了一圈，原来是CDN的SSL/TLS模式设成了\u0026quot;完全（严格）\u0026quot;，但我的Nginx只监听80端口，没有配SSL。于是把模式改成灵活，让CDN到源站走HTTP，用户到CDN走HTTPS。瞬间好了。(CDN你肯定知道是谁家的)\n最蠢的来了 访问我的域名，还是不行？排除了一小时，最后dig一下，发现子域名根本没解析——我在CDN控制台里把记录名写成了photo而不是photos。改回来，秒开。\n配置 按你自己之前mysql的配置填进去\n安全加固 这一段是机密 不给你看\n上传图片 用rsync传服务器目录，再进后台同步:\nrsync -avP -e \u0026#34;ssh -i 你的ssh私钥\u0026#34; ./ user@服务器IP:~/待上传/ #这年头真的还用密码登么.... 同步直接进Piwigo后台 → 工具 → 同步 点快速同步就行。\n总结 不要碰服务器 会让你变得不幸\n最后建议 域名和SSL早配置 照片记得压缩 PS：文中所有域名、IP、密码均为示例，实际使用时请换成自己的，并务必使用强密码和私有配置。 ","date":"2026-04-25T02:35:20+08:00","permalink":"/posts/photos-support/","title":"怎么痛苦的用1核2G服务器搭私人相册"},{"content":"前言 有了你自己的博客 没有讨论区可怎么行 自己写一个讨论区要费老鼻子劲(反正我懒我不想自己动手 而且我也没学会html和css)\n那当然是找一下有没有现成的模板喽\n我替你找到了一个 名字就是 giscus\n前置条件 一个公开的 GitHub 仓库（专门用来存评论，建议新建一个比如 blog-comments） 在仓库 Settings → Features 里勾选 Discussions 安装 giscus GitHub App 并授权该仓库 怎么使用 本文基于我的网页生成器(hugo)如果你的网页生成器与我不同 请自行查询操作 我只在此提供giscus项目使用方法\n前往giscus项目主页 链接在这里(别忘了来个star) https://github.com/giscus/giscus\n点击关于下面的链接(要是懒得去 点击这个也行) giscus.app\n进去后往下拉 你会看到配置页面 先选择giscus的显示语言 支持简体中文 下一步就是输入giscus连接的仓库 giscus依赖的是github官方项目讨论区 我非常强烈的建议你单独为其建一个新仓库 不需要链接 只需要你的github用户名和仓库名就可以 然后下面的映射关系一般选第一个就行(我其实也没看懂() ) 再往下 这里让你选择讨论区分类 跟着它推荐的公告（announcements）类型 这样就可以确保新 discussion 只能由仓库维护者和 giscus 创建 防止别人去你仓库底下乱评论 再下面的特性选项按你自己要求来 主题看你自己喜欢哪个选哪个 重头戏来了 启用giscus这个区域里面的就是根据你的选项生成的html 注意!!! 接下来的教程是根据hugo写的 其他网页生成器怎么使用可以自己去查或者问ai\n添加到 Hugo 新建评论模板（不要改主题文件，在项目根目录覆盖）：\nmkdir -p layouts/partials nano layouts/partials/comments.html 把生成的script 粘进去保存。\n然后在 hugo.toml 的 [params] 下加一行：\n[params] comments = true 重新构建：\nhugo 打开任意一篇文章，底部即可看到评论框\n总结 这个项目使用还是挺简单的 如果你想要看效果的话这个博客底部就是\nEND\n","date":"2026-04-25T02:24:11+08:00","permalink":"/posts/blog-discussions-support/","title":"怎么在你的博客上添加讨论区"}]