• 首页
  • 搜索
  • 夜间模式
    ©2025  布点 Theme by OneBlog
    搜索
    标签
    # 折腾 # 内网穿透 # 飞牛
  • 首页>
  • 默认分类>
  • 正文
  • 用笔记本来搭建本地服务器

    2025年09月16日 122 阅读 4 评论 4740 字

    前言
    最近用一台家里的老旧笔记本搭了一台本地服务器,体验下来还是不错的,于是写一篇博客记录一下。

    主要流程就是安装 Ubuntu Server 系统,路由器支持 IPv6 实现公网 IPv6 访问,宽带有公网 IPv4 或者有一台云服务器实现公网 IPv4 访问,最终实现通过 IPv4 + IPv6 双栈访问服务器,安装 docker 来快速部署和方便管理服务。

    使用笔记本搭建本地服务器有两个独特的好处:

    有一块显示屏,当服务器出现问题,并且无法通过 SSH 连接进行调试时,不用额外接一块显示屏就可以直接进行调试。
    有一块电池,当直流供电中断时,一块电池可以起到 UPS 的作用。
    不过这俩平时都用不到,我们需要进行一定的设置,我在文末会提及。

    Thinkpad E431
    neofetch系统信息

    首先介绍一下我用的笔记本,联想 Thinkpad E431:

    发布于 2013 年左右的笔记本
    CPU 是“Intel i3-3110M @2.400GHz”
    GPU 是“NVIDIA GeForce GT 740M”
    4G 内存
    原装 500G 机械硬盘,后来换的 256G 固态。
    这台笔记本之前安装个 Windows 7 还能勉强够用,开机内存占用基本就过半了,4G 内存运行图形化界面还是比较吃力的,但装个 Ubuntu Server,我到目前见到最高的内存占用也就 25%。

    如果你不是 Thinkpad E431,也可以参照一下这篇博客,毕竟 Linux 还是不怎么挑硬件的。

    Ubuntu Server
    你需要准备:一个 8G+ 的 U 盘用于制作启动盘,一根网线用于有线网络。

    (1) 制作启动盘

    这里使用的是 Rufus,其他制作工具也可以。

    Ubuntu Server ISO 镜像文件下载地址:https://ubuntu.com/download/server

    将 U 盘插入电脑,打开 Rufus,选择下载好的 Ubuntu Server 镜像,分区类型选择“MBR”,文件系统选择“NTFS”,点击“开始”,等待制作完成后拔出 U 盘。

    rufus制作启动盘

    (2) 从启动盘引导

    搜索你笔记本对应的进入 BIOS 的方式,Thinkpad E431 是在开机时连续单击 F12 键进入 BIOS。

    在 BIOS 中关闭安全启动 Secure Boot,在启动顺序中将启动盘(U 盘)置顶后,保存并退出,进入开机界面。

    如果顺利的话,应该是进入 Ubuntu Server 的安装界面了。

    (3) 安装 Ubuntu Server

    推荐视频教程:【系统篇】安装Ubuntu Server 20.04

    安装过程参照上面的视频就可以了,我安装也是跟着他来。

    强调几点:

    语言最好保持 en_US,服务器也没必要要中文。
    手动配置静态 IP,和视频中不一样,如果要配置的话可以自己找找教程。
    配置阿里云镜像源:https://mirrors.aliyun.com/ubuntu/
    勾选 SSH 服务,因为你要通过其他电脑连接到服务器来进行操作。
    等待安装完成后,你就拥有了一台本地服务器,一些有关服务器的杂项设置可以参考文末。

    如果你是第一次使用服务器,可以参考我这篇博客:连接到服务器

    公网访问
    2024-04-20 更新:DDNS v Tailscale v Cloudflared,在这篇文章中我弃用了下面的方案,转用 Tailscale,仅供参考。

    至此,我们仅仅是搭建了一个能在局域网连接和访问的服务器,如果需要在非局域网环境连接或是访问,则需要进行相应的配置。

    (1) 公网 IPv6 + DDNS

    你需要准备:一个域名 www.example.com,托管在阿里云、腾讯云、Cloudflare 都可以。

    现如今公网 IPv4 还是很难申请到了,但只要你的路由器支持 IPv6,就大概是公网 IPv6,只是每次路由器重新拨号时,IPv6 地址会改变,所以我们要采用 DDNS(动态域名解析)将 IPv6 绑定到一个域名,通过域名来固定访问地址。

    ddns-go 项目地址:https://github.com/jeessy2/ddns-go

    我是使用 docker(host)部署的,使用方式很简单,等你打开 ddns-go 的 webUI 界面看看就会用了,这里解释一下 DDNS 的原理。

    ddns-go 定期获取本机 IP 地址,再通过阿里云/腾讯云/Cloudflare 的相应 API 更改域名 www.example.com 的解析结果为最新的 IP 地址。

    PS 如果你有动态公网 IPv4 地址的话,也是使用 DDNS 绑定域名进行访问。

    (2) FRP 实现 IPv4 公网访问

    你需要准备:一台云服务器,最好是国内服务器,可能需要备案,或者用国外服务器。

    因为我没有公网 IPv4,所以需要一台云服务器进行内网穿透,这里采用的是 FRP 来实现 IPv4 公网访问。

    在云服务器上部署 frps 并开放相应端口,在本地服务器上部署 frpc,进行相应配置,如何写配置网上教程很多。

    我原本是用 docker 部署 frps 和 frpc,但动不动报错,最后采用二进制文件使用系统服务开机自启。

    PS 如果你没有云服务器,其实也不一定要配置 IPv4 公网访问,毕竟现在国内 IPv6 还是比较普及的,实在不行就用流量访问。

    一些推荐的服务
    除了前面提及的 ddns-go 和 frp 之外,这里推荐一些服务让你知道一个本地服务器能干什么。

    Dockge:使用 docker compose 来管理 docker 容器。
    AList:将多种云存储挂载到一起统一管理,支持大多数网盘及云存储,可以通过 webdav 访问。
    qbittorrent:种子和磁力链接下载工具。
    Duplicati:用于在线存储加密备份的备份软件,支持增量备份。
    Syncthing:在不同设备间同步文件,全平台支持。
    ……
    你也可以参考我这篇博客:搭建自己的在线动漫资源库

    你可能需要
    设置合盖不休眠
    因为是用笔记本搭建的服务器,如果设置合盖不休眠的话,占用体积会更小,或许也会降低功耗(毕竟关闭显示屏了)。

    sudo vim /etc/systemd/logind.conf

    - #HandleLidSwitch=suspend
    + HandleLidSwitch=ignore

    sudo systemctl restart systemd-logind.service
    Copy
    开盖关闭显示器
    在设置合盖不休眠后使用过程中,会发现因为合盖导致笔记本散热减弱,后面改成了“开盖关闭显示器”。

    使用一行命令开启/关闭显示器,配置开盖时打开显示器。

    (1) 安装相关软件

    sudo apt update
    sudo apt install acpid vbetool
    Copy
    (2) 配置 ACPI 开盖事件

    sudo vim /etc/acpi/events/lid

    event=button/lid LID0 open
    action=/etc/acpi/lid.sh

    Copy
    (3) 创建 ACPI 脚本

    sudo vim /etc/acpi/lid.sh

    #!/bin/bash
    sudo vbetool dpms on

    sudo chmod +x /etc/acpi/lid.sh
    Copy
    (4) vbetool 命令

    sudo vbetool dpms on #开启显示器
    sudo vbetool dpms off #关闭显示器
    Copy
    电池供电主动关机
    我们希望服务器能 7x24 小时保持工作,但总会出现突发情况,导致突然断电,如果我们不进行相关设置,电池耗尽导致突然关机,可能会出现数据丢失等问题,所以这里讲一下如何设置成电池供电时主动关机。

    网上常见的是 ACPI 电源管理一套流程,但我实际用下来貌似没效果,所以直接用的是 crontab 每 5 分钟检测,如果是电池供电则执行关机命令。

    vim path/to/auto_shutdown.sh

    这里涉及两个文件,脚本文件和日志文件,请注意修改相应地址

    #!/bin/bash
    
    if [ `cat /sys/class/power_supply/AC/online` -eq 0 ]; then
            shutdown -h 3
            echo "$(date +%Y-%m-%d\ %H:%M:%S):检测到直流供电断开,准备关机。" >> /home/xxx/log/auto_shutdown.log
    fi

    chmod +x path/to/auto_shutdown.sh # 给脚本执行权限
    Copy
    sudo -i # 关机是高权限操作,需要 root 的 crontab
    crontab -e # G 跳转到末尾,o 新建一行进行输入,键入下面命令后 :wq 退出

    */5 * * * * path/to/auto_shutdown.sh

    Copy
    以 root 用户登录
    安装完 Ubuntu Server 你会发现你并不知道 root 用户的密码,我们需要重新设置 root 密码。

    sudo -i # 进入 root 用户
    passwd # 设置 root 密码
    Copy
    修改 SSH 端口
    sudo vim /etc/ssh/sshd_config

    在配置文件中找到“Port”行,取消注释并改为你要使用的端口

    sudo service ssh restart
    Copy
    配置 ufw 防火墙
    sudo apt update
    sudo apt install ufw
    sudo ufw allow 22 # 首先放行 SSH 端口,如果你修改了 SSH 端口则放行相应端口
    sudo ufw enable # 开启 ufw 防火墙
    sudo ufw status # 查看 ufw 规则
    sudo ufw delete allow 22 # 删除放行 22 端口的规则
    Copy
    公网无法访问 IPv6
    如果你发现在局域网内能正常解析域名并访问,但在公网(比如使用流量)却无法正常访问,这可能是因为你的路由器或是光猫有 IPv6 防火墙,请自行搜索关闭防火墙的方法。

    在此之前,请确认服务器防火墙是否放行相应端口。

    Server-Box
    推荐一个开源安卓软件 Server Box,用于在手机上查看服务器状态。

    项目地址:https://github.com/lollipopkit/flutter_server_box

    homeserver     network
    本文著作权归作者 [ 布点 ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    折腾
    取消回复

    发表留言
    回复

    读者留言4

    1. vsrtruocxm Lv.1
      2025-10-06 10:40 回复

      新盘 上车集合 留下 我要发发 立马进裙coinsrore.com

    2. mlvpeqjrcq Lv.1
      2025-10-06 16:29 回复

      新盘首开 新盘首开 征召客户!!!

    3. gjaopmwxtv Lv.1
      2025-10-07 17:15 回复

      2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
      新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
      新车首发,新的一年,只带想赚米的人coinsrore.com
      新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
      做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
      新车上路,只带前10个人coinsrore.com
      新盘首开 新盘首开 征召客户!!!coinsrore.com
      新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
      新车即将上线 真正的项目,期待你的参与coinsrore.com
      新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
      新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

    4. eyelmbovay Lv.1
      2025-10-07 18:51 回复

      2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
      新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
      新车首发,新的一年,只带想赚米的人coinsrore.com
      新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
      做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
      新车上路,只带前10个人coinsrore.com
      新盘首开 新盘首开 征召客户!!!coinsrore.com
      新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
      新车即将上线 真正的项目,期待你的参与coinsrore.com
      新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
      新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

    加载更多评论
    加载中...
    — 已加载全部评论 —
    首页
    Copyright©2025  All Rights Reserved.  Load:0.030 s
    Theme by OneBlog V3.6.3
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。