跳到主要内容

初次搭建网站多次失败后的成功记录

VPS与环境选择 #

2U / 2G / 50GB / 5Mbps,年费约 800–1000 元;域名年费 250–280 元。

常见 VPS 平台:LightNode、DigitalOcean、Hostinger、Vultr、野草云(支持支付宝)。我自己通过比价买了野草云的vps,但操作界面、主机体验上比hostinger差太多,但价格差价好几百…也不太适合练手,只适合安装轻量应用。hostinger使用是真的舒服,缺点就是实在太贵了。

2025.11.17补:

免费主机:

关于 VPS 与无服务器部署的思考

如今已经不太推荐使用 VPS。原因很简单:

  1. 无服务器(Serverless)平台已经相当成熟,不仅提供免费额度,超出部分的计费也十分友好。对于大多数中小型项目而言,这些服务完全能够满足日常需求。
  2. 在部署策略上,无服务器最理想的场景是静态化服务,例如静态博客或前端页面;若确实需要运行后端服务,国内的云服务商同样提供了价格低廉、性能稳定的选择。
  3. 相比之下,国外云服务器虽然可以免备案直接使用,但访问速度远不如国内。而若是为了科学上网等用途,选择机场服务通常比自建 VPN 更划算。

综合来看,在当前环境下,VPS的性价比已经大幅下降,不再是首选方案。

bluesky建站部署 #

bluesky启动地址:https://bsky.app

参考内容:

SMTP 服务邮箱:

bsky.app第三方启动器:https://tabtter.jp

在使用 Resend 发送邮件时,如果出现“域名未验证”的错误,通常是因为 域名验证流程未完成。要正确验证域名,需要注意两点:

  1. DNS 记录对应:在自己的 DNS 服务商中添加 Resend 提供的域名记录时,必须确保记录的域名(主机名/网域)与 Resend 要求完全一致。
  2. 控制台验证:添加完 DNS 记录后,还需要回到 Resend 控制台点击 “Verify DNS Record” 进行验证,Resend 才能确认域名已经生效。

只有满足这两步,域名验证成功后,才能正常使用该域名发送邮件。

Bash
1#將YOUR_API_KEY_HERE換成上一部給你的 API Keys
2PDS_EMAIL_SMTP_URL=smtps://resend:re_your_key@smtp.resend.com:465/
3#將 admin@example.com 替換成 SMTP 發信地址
4PDS_EMAIL_FROM_ADDRESS=admin@hoochanlon.space
5# 测试效果时,取消邀请机制
6PDS_INVITE_REQUIRED="false"
7# 编辑完,重启服务
8systemctl restart pds

misskey建站部署 #

和插件重制一样,这行更新慢的程序很多几乎都兼容崩坏。部署真的容易被恶心到。唯一一次“全程成功”的,居然是 Bluesky。反代没域名的情况下还得强制 http 才能看到效果。不过这次总算成功了。

1Panel Docker 超详细 Misskey 部署教程

申请证书使用如下命令,或登录网站: https://dash.cloudflare.com

1sudo apt update
2sudo apt install certbot python3-certbot-nginx -y
3sudo certbot --nginx -d misskey.hoochanlon.space

mastodon建站部署 #

1Panel Docker 部署自己的 Mastodon 实例 安装有问题不成功。最简单最成功的部署mastodon的方法是使用Cloudron。关于Cloudron体验见:Web 自托管平台评测 Cloudron vs YunoHost vs Sandstorm

Cloudron初次使用,参考这个教程,注意关闭ipv6:

除mastodon之外,安装简单的平台:https://docs.gotosocial.org/zh-cn/latest/getting_started/installation/container/

Ech0-Noise建站部署 #

Docker 原理图 #

 1+-------------------------------------------------+
 2|                  宿主机                        |
 3|                                                 |
 4| 访问地址: http://服务器IP:1314                  |
 5|                                                 |
 6|  +-----------------------------------------+   |
 7|  |             容器: Ech0-Noise           |   |
 8|  | 应用: Echo Noise                         |   |
 9|  | 内部端口: 1314                           |   |
10|  | 数据存储卷: /app/data                     |   |
11|  +-----------------------------------------+   |
12| 本地挂载路径: /opt/data ------------------>     |
13+-------------------------------------------------+

常用命令与说明 #

1️⃣ 启动容器(不挂载数据) #

Bash
1docker run -d   --name Ech0-Noise   -p 1314:1314   noise233/echo-noise

⚠️ 删除容器后数据会消失,适合测试环境。

2️⃣ 数据持久化挂载 #

Bash
1docker stop Ech0-Noise
2docker rm -f Ech0-Noise
3docker run -d   --name Ech0-Noise   -p 1314:1314   -v /opt/data/noise.db:/app/data/noise.db   noise233/echo-noise

将宿主机的 /opt/data/noise.db 挂载到容器 /app/data/noise.db 实现持久化。

3️⃣ docker-compose 部署 #

YAML
 1version: "3"
 2
 3services:
 4  noise:
 5    image: noise233/echo-noise
 6    container_name: note-noise
 7    ports:
 8      - "1314:1314"
 9    volumes:
10      - ./data:/app/data
11    environment:
12      - LOG_LEVEL=info
13      - DB_TYPE=sqlite
14      - DB_PATH=/app/data/noise.db
15    restart: unless-stopped

一键启动:

Bash
1docker compose up -d

Memos 搭建记录 #

Memos 是轻量级的自托管笔记系统。新版 UI 不太合我意,因此我选择回退旧版。

部署命令 #

YAML
 1version: "3.8"
 2services:
 3  memos:
 4    image: neosmemo/memos:0.24.0
 5    container_name: memos
 6    ports:
 7      - "5230:5230"
 8    volumes:
 9      - ./data:/var/opt/memos
10    restart: unless-stopped

切换版本命令:

Bash
1cd /opt/1panel/www/memos
2docker compose down
3docker stop memos
4docker rm memos
5docker compose up -d

旧版 UI 截图:

旧版 Memos UI

虽然有不少衍生项目,但个人兴趣不大:

Nginx 反代注意事项 #

若访问反代域名时提示“无法访问”,说明浏览器可能强制使用 HTTPS(443 端口)。
而你只配置了 HTTP(80 端口)。

解决办法:

  1. 申请 HTTPS 证书(可用 Cloudflare 或 Let’sEncrypt 免费申请)。
  2. 若浏览器缓存了 HSTS,需清理缓存或使用隐身模式访问。

参考教程:
如何申请 Cloudflare 免费 SSL 证书

域名绑定参考 #

Hoochanlon 国家级认证,带砖底层失业劳工
作者
胡成龙
生田绘梨花、桥本奈奈未粉丝