不定期更新的服务器攻略指南。
记录服务器的配置管理、软件安装等信息,和附带文章索引。

前言

2022.4更新:把笔记本扔了,买了nas服务器(并升级到16g内存)
本文记录对服务器(2云+1NAS)的规划、管理过程,并分享一些经验心得。

一 资源总览

1 域名

域名即入口,现有已备案域名一个: linshenkx.cn

2 云服务器

云服务器都是买了3年的,有公网ip

名称资源说明
uc2c8g1m,40g主服务器
tx2c4g3m,50g+400g存储服务器

3 服务器

闲置笔记本因为性能孱弱,且年久失修,不经折腾,便领了盒饭光荣退休了。

新上任的是威联通的ts262c,默认2c2g我给它升级到16g,能装docker,功耗又低,就当是迷你服务器了。

二 组网方案(VPN)

以前是用蒲公英的跨网组网,现在全部升级到 TailScale。方便又好用。
开源版本可以使用 HeadScale,参考:https://fuckcloudnative.io/posts/how-to-set-up-or-migrate-headscale

三 域名管理(dns)

域名解析配置

  1. 主域名
    指向个人网站
  2. tailscale次级域名
    如 tx.linshenkx.cn、uc.linshenkx.cn等配置为tailscale分配的IP,只能通过vpn访问。
  3. 公网服务次级域名
    如 derper、wiznote等都指向云服务的公网ip
  4. 其他通配符域名
    指向个人网站

Nginx

由swag负责证书申请、使用以及续签等,并内置nginx实现代理、跳转等。

Nginx服务器接收到请求后,统一将http 301跳到https访问。
而在https内,则根据二级域名的具体名称转发到对应的服务。

整个过程对于服务应用来说是透明的,应用只需确保监听端口即可,无需考虑域名和ssl配置。

二 角色分配

机器角色(软件)说明(博客链接)
nasnas服务器家用服务器,有较高的网络带宽,负责文件存储、家庭影音等
clash(clash-web)网络畅通是一切行动的前提:我的服务器系列:clash-docker使用并实现订阅链接自动更新
clash-tracingclash汇总监控:我的服务器系列:使用clash-tracing统计windows下clash使用情况
swagletsencrypt+nginx,再也不要看到ip和端口,万物皆在https+域名之下:文章待整理
ddns动态域名解析
docker-registrydocker私有仓库(原本使用nexus,太重了,没必要)
git-lfs-servergit大文件存储(原本使用nexus,太重了,没必要)
jellyfin家庭影音:照片墙+播放器
auto-bangumi家庭影音:自动追番
chinesesubfinder字幕自动查找下载
flaresolverr绕开网站Cloudflare保护
iyuu自动辅种工具
qbit下载工具
nas-toolsnas工具
syncthing文件同步工具
watchtowerdocker镜像自动更新
tx主云服务器网络带宽和磁盘空间较大,但cpu和内存不高,存放供公网访问的服务,如:个人网站、数据库、http文件服务器等,
swag常规必备,参考如上
http-file-server简单好用的http文件服务器
derpertailscale自定义derper服务器
halo个人博客: 个人博客系统设计(支持hexo和halo同步)
mysql自动备份的数据库:预装cron服务的mysql镜像
uc备用云服务器存放个人笔记等
swag常规必备,参考如上
halo备用
mysql备用
haloSyncServerHalo博客同步器
wiznote从印象笔记到可以私有部署的为知笔记:文章待整理 (也可以看看joplin,优点是支持webdav备份,支持裁剪,缺点是丑,导入印象笔记目录结构会丢失)
random-image-api颜值即正义:对接了阿里oss的随机图api

三 管理工程

为了使每个服务器使用的软件及其部署过程有迹可循,我开了一个私有仓库来跟踪记录。

因为我几乎所有软件都是以docker容器形式安装运行的,
所以安装、管理过程都可以简化为docker命令记录在readme.md里面。
而个别需要额外配置文件的也放在同级目录下。
这样以后服务器迁移的时候十分方便,
只需要根据docker目录把挂载目录进行迁移再运行docker命令即可。
另外docker命令也可以使用docker-compose配置文件进行取代,本质一样。

其结构如下:

myserver:
  - 服务器1:
      - server.md
      - 软件1
        - readme.md
        - 软件1的配置文件
      - 软件2
        - readme.md
        - 软件2的配置文件
      - 软件3
        - readme.md
  - 服务器2:
      - 软件4
        - readme.md

Q.E.D.