跳到主要内容

Linux

服务​

开发与运维工具​

服务名称评价内存占用适用场景
VS Code Server远程 Web IDE ,支持多人协作中等团队开发
Docker轻量容器化,快速部署低微服务/测试环境
Minikube本地 K8s 集群,开发测试用高Kubernetes 学习
GitLab Runner持续集成/交付代理中等CI/CD 流水线
Jenkins自动化构建工具,插件丰富高复杂构建任务
PostgreSQL开源关系型数据库,扩展性强中等数据存储
Redis内存数据库,超低延迟低缓存/消息队列
MySQL经典关系型数据库中等传统应用
MongoDB文档数据库,JSON 友好中等NoSQL 需求
Prometheus监控告警系统,时序数据低服务监控
Grafana可视化仪表板,对接多数据源低监控展示
PortainerDocker 图形化管理工具低容器运维
Nginx高性能 Web 服务器/反向代理极低静态站点/API 网关
Apache传统 Web 服务器,模块化低兼容旧项目
Node.jsJavaScript 运行时,事件驱动低全栈开发
Python Flask轻量级 Web 框架低快速 API 开发
Elasticsearch全文搜索引擎,分布式高日志分析/搜索服务
RabbitMQ消息队列,AMQP 协议支持中等异步任务处理
Hugo静态网站生成器,极速构建极低博客/文档站点

媒体与家庭服务​

服务名称评价内存占用适用场景
Jellyfin开源媒体服务器,硬件加速中等家庭影库
Plex商业媒体服务器,客户端丰富中等流媒体共享
Homebridge非 HomeKit 设备接入苹果生态低智能家居中枢
Home Assistant全能智能家居平台,自动化强中等复杂智能场景
Pi-hole网络级广告拦截,DNS 过滤极低全家去广告
AdGuard Home替代 Pi-hole ,支持 DoH/DoT低隐私保护
Calibre电子书管理服务器低个人数字图书馆
Audiobookshelf有声书管理,支持多端同步低有声书爱好者
Photoprism私有云相册,AI 分类中等照片备份与管理
Nextcloud自建云盘,替代 Google Drive高文件同步/协作

网络与安全​

服务名称评价内存占用适用场景
OpenWRT旁路由功能,科学上网/广告过滤低网络优化
Tailscale零配置内网穿透,WireGuard 协议极低远程访问
Zerotier虚拟局域网,跨网络组网极低异地设备互联
Nginx Proxy反向代理管理器,自动 SSL低多服务域名暴露
Traefik动态反向代理,支持容器低微服务网关
Fail2Ban防暴力破解,自动封禁 IP极低服务器安全
WireGuard轻量级 VPN ,高性能极低加密通信
SquidHTTP 代理缓存,加速访问中等内网加速
Snort网络入侵检测系统高安全监控
Gitea轻量 Git 服务,替代 GitLab低私有代码托管

自动化与工具​

服务名称评价内存占用适用场景
Homer导航首页,聚合服务链接极低服务入口统一
Uptime Kuma服务可用性监控,通知告警低运维监控
Wiki.js知识库系统,Markdown 支持中等团队文档
BookStack结构化文档管理中等技术手册
Bitwarden密码管理器,自托管版低密码安全
VaultwardenBitwarden 轻量替代极低低资源密码管理
ntfy推送通知服务,跨平台极低消息提醒
Gotify简易消息推送服务器极低自定义通知
Radarr电影自动下载管理中等PT 爱好者
Sonarr剧集自动下载管理中等追剧自动化

实验性/高阶服务​

服务名称评价内存占用适用场景
LLM Local本地运行 Llama 3 等大模型极高AI 实验
Stable Diffusion本地 AI 绘图,依赖 GPU 加速高图像生成
Ollama简化版本地 LLM 管理工具中等轻量 AI 开发
IPFS分布式存储节点中等Web3 开发
Ethereum以太坊轻节点高区块链开发
Folding@Home分布式计算贡献算力极高科研公益
Kasm容器化桌面环境,远程隔离高安全沙箱
CyberChef数据编解码 Web 工具低安全分析
Grafana Loki日志聚合系统,轻量替代 ELK中等集中式日志
Meilisearch极速全文搜索引擎低替代 Elasticsearch

总结建议​

  • 优先选择:Docker 容器化部署(节省资源)
  • 内存敏感:限制单服务内存(如docker run --memory 2g)
  • 性能瓶颈:避免同时运行 3 个以上高内存服务(如 LLM+DB+媒体转码)

通过合理分配,16GB 内存可同时承载约 10-15 个中低负载服务。

Debian系统上实现无需客户端配置的本地域名解析​

Debian系统上可以使用mDNS(Multicast DNS)和Avahi服务来实现无需客户端额外配置就能通过子域名访问资源的功能。这种方式适用于本地网络环境,让设备可以通过类似 blog.wlg.local 、 api.wlg.local 这样的域名自动发现服务。

实现方案​

1. 安装Avahi服务​

sudo apt update
sudo apt install avahi-daemon avahi-utils

2. 配置Nginx虚拟主机​

sudo apt install nginx

为每个子域名创建Nginx虚拟主机配置:

server {
listen 80;
server_name blog.wlg.local;

root /var/www/blog;
index index.html;

location / {
try_files $uri $uri/ =404;
}
}

server {
listen 80;
server_name api.wlg.local;

root /var/www/api;
index index.html;

location / {
try_files $uri $uri/ =404;
}
}

3. 配置Avahi服务发布​

创建服务发布文件:

sudo nano /etc/avahi/services/nginx-http.service

添加以下内容:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE service-group SYSTEM
"avahi-service.dtd">
<service-group>
<name>Web Services</name>
<service>
<type>_http._tcp</type>
<port>80</port>
<host-name>blog.wlg.local</host-name>
</service>
<service>
<type>_http._tcp</type>
<port>80</port>
<host-name>api.wlg.local</host-name>
</service>
</service-group>

4. 重启服务​

sudo systemctl restart avahi-daemon
sudo systemctl restart nginx

客户端访问​

对于同一网段内的客户端:

  1. Linux客户端 :通常已预装Avahi客户端,可直接访问 http://blog.wlg.local 或 http://api.wlg.local

  2. macOS客户端 :原生支持mDNS,可直接访问这些域名

  3. Windows客户端 :

    • Windows 10/11可能需要安装Bonjour服务
    • 或者使用 .local 域名访问

注意事项​

  1. 这种方案仅适用于本地网络环境,不适用于公网
  2. 某些网络环境可能会阻止mDNS多播包
  3. 域名应使用 .local 后缀,这是mDNS的标准做法 如果需要更复杂的设置或公网访问,可能需要考虑配置本地DNS服务器。