一台低功耗小主机 + Ubuntu Server + Mise 多版本管理器 = 随时随地远程开发,告别本地电脑卡顿。
目录
- 硬件与网络规划
- 制作 Ubuntu 安装 U 盘
- 安装 Ubuntu Server 24.04.2 LTS
- 首次启动与基础配置
- 安装 Mise 多版本管理器
- 安装 Node.js / Java / PHP(含旧版特殊处理)
- 安装 MySQL、Redis、Nginx
- 远程开发:VSCode Remote-SSH + Samba 映射
- 挂载 NAS 扩展存储(可选)
- 防火墙与开机优化
- 进阶:阿里云 ECS 做 FRP 内网穿透(备用)
- 结语
1. 硬件与网络规划
设备清单
- 小主机:畅网 CW-NUC-ATL-2L(CPU N350,16G DDR5 内存,500G SSD)
- 主路由:中兴 7200max(LAN IP
192.168.0.1) - 开发机:Windows 11(固定 IP
192.168.0.10) - NAS(可选):群晖 / 其他(固定 IP
192.168.0.66)
固定 IP 规划
| 设备 | 静态 IP | 网关 | DNS |
|---|---|---|---|
| Ubuntu 服务器 | 192.168.0.11 |
192.168.0.1 |
114.114.114.114 |
| Windows 主力机 | 192.168.0.10 |
192.168.0.1 |
114.114.114.114 |
| NAS | 192.168.0.66 |
192.168.0.1 |
114.114.114.114 |
主路由 DHCP 范围:建议设为 192.168.0.100 – 192.168.0.200,避免与固定 IP 冲突。
2. 制作 Ubuntu 安装 U 盘
- 下载 Ubuntu Server 24.04.2 LTS ISO:官方下载
- 下载 Rufus(Windows):https://rufus.ie/
- 插入 U 盘(≥8GB),打开 Rufus:
- 设备:选择 U 盘
- 引导类型:选择下载的 ISO 文件
- 分区类型:GPT
- 目标系统:UEFI(非 CSM)
- 点击“开始”,等待写入完成。
3. 安装 Ubuntu Server 24.04.2 LTS
3.1 启动与安装
- U 盘插入 N350,开机按
F7/F11选择 U 盘启动。 - 语言选择 English →
Install Ubuntu Server。
3.2 网络配置(手动设置静态 IP)
- 选择网卡 →
Edit IPv4→Manual - 填写:
Subnet: 192.168.0.11/24
Gateway: 192.168.0.1
Name servers: 114.114.114.114
- 完成后退回主菜单。
3.3 代理与镜像
- 代理:留空
- 镜像源:暂时使用默认官方源(安装完成后切换国内源)
3.4 磁盘分区
- 选择 Use an entire disk
- 磁盘:
/dev/sda - 勾选 Set up this disk as an LVM group
- 不要勾选 LUKS 加密
- 确认写入。
3.5 用户信息
- 主机名:
ubuntu-dev - 用户名:
dev(推荐,后续命令均以此为例) - 密码:设置强密码
3.6 SSH 与 Snap
- Install OpenSSH server:勾选(空格键)
- Featured Server Snaps:全部不选,直接 Done
等待安装完成,拔掉 U 盘,重启。
4. 首次启动与基础配置
4.1 登录
dev@ubuntu-dev:~$
4.2 切换国内软件源(加速)
Ubuntu 24.04 使用 DEB822 格式,编辑源文件:
bash
sudo sed -i 's|http://archive.ubuntu.com/ubuntu|http://mirrors.ustc.edu.cn/ubuntu|g' /etc/apt/sources.list.d/ubuntu.sources
sudo sed -i 's|http://security.ubuntu.com/ubuntu|http://mirrors.ustc.edu.cn/ubuntu|g' /etc/apt/sources.list.d/ubuntu.sources
sudo apt update && sudo apt upgrade -y
4.3 安装基础工具
bash
sudo apt install -y git curl wget vim htop net-tools build-essential nginx plocate
sudo updatedb # 初始化 plocate 数据库
4.4 确认静态 IP
bash
ip a
如果不是 192.168.0.11,编辑 netplan:
bash
sudo nano /etc/netplan/00-installer-config.yaml
修改为:
yaml
network:
version: 2
ethernets:
enp1s0:
addresses:
- 192.168.0.11/24
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses: [114.114.114.114]
bash
sudo netplan apply
4.5 确保 SSH 开机自启
bash
sudo systemctl enable --now ssh
5. 安装 Mise 多版本管理器
Mise 可以管理 Node.js、Java、PHP、Python 等几十种工具,且支持项目级配置文件 .mise.toml。
bash
curl https://mise.jdx.dev/install.sh | sh
将以下内容添加到 ~/.bashrc 末尾:
bash
echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc
source ~/.bashrc
验证:
bash
mise --version
6. 安装 Node.js / Java / PHP(含旧版特殊处理)
6.1 Node.js(多版本)
bash
mise use -g node@16 node@18 node@20
切换测试:node -v
6.2 Java(OpenJDK)
bash
mise use -g java@11 java@17 java@21
验证:java -version
6.3 PHP 多版本(关键步骤)
原因说明
- PHP 7.4 和 8.0 因 OpenSSL 版本兼容问题,直接通过
mise install可能失败。 - 解决方法:使用 Ubuntu 官方 apt 源安装 7.4 和 8.0,然后通过
mise alias将它们纳入版本管理。 - PHP 8.1、8.2、8.3 则使用
mise+ 阿里云镜像正常安装。
6.3.1 安装 PHP 7.4 和 8.0(apt 方式)
bash
sudo apt update
sudo apt install -y php7.4-cli php7.4-common php7.4-opcache php7.4-readline \
php7.4-mbstring php7.4-xml php7.4-curl php7.4-zip
sudo apt install -y php8.0-cli php8.0-common php8.0-opcache php8.0-readline \
php8.0-mbstring php8.0-xml php8.0-curl php8.0-zip
确认路径:
bash
which php7.4 # 输出类似 /usr/bin/php7.4
which php8.0 # 输出类似 /usr/bin/php8.0
6.3.2 将 7.4 和 8.0 加入 Mise 管理
bash
mise alias set php 7.4 /usr/bin/php7.4
mise alias set php 8.0 /usr/bin/php8.0
mise use php@7.4 # 测试切换到 7.4
php -v
mise use php@8.0 # 测试切换到 8.0
php -v
6.3.3 安装 PHP 8.1/8.2/8.3(使用 Mise + 阿里云镜像)
bash
# 安装编译依赖
sudo apt install -y autoconf bison re2c libxml2-dev libsqlite3-dev
# 添加 Mise PHP 插件并设置阿里云镜像
mise plugin add php https://github.com/jdx/mise-php.git
export PHP_MIRROR=https://mirrors.aliyun.com/php/
# 安装各版本
for v in 8.1 8.2 8.3; do
mise install php@$v
done
# 设置全局默认版本(例如 8.3)
mise use -g php@8.3
6.3.4 验证所有 PHP 版本
bash
mise list php
mise use php@7.4 && php -v
mise use php@8.0 && php -v
mise use php@8.1 && php -v
mise use php@8.2 && php -v
mise use php@8.3 && php -v
7. 安装 MySQL、Redis、Nginx
7.1 MySQL
bash
sudo apt install -y mysql-server
sudo mysql_secure_installation # 设置 root 密码,按提示操作
创建开发用户(可选):
sql
sudo mysql
CREATE USER 'dev'@'localhost' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'dev'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
7.2 Redis
bash
sudo apt install -y redis-server
sudo systemctl enable --now redis-server
redis-cli ping # 应返回 PONG
7.3 Nginx
bash
sudo systemctl enable --now nginx
8. 远程开发:VSCode Remote-SSH + Samba 映射
8.1 VSCode Remote-SSH(主力方式)
- 在 Windows 上安装 VSCode,搜索安装插件
Remote - SSH。 - 按
F1→Remote-SSH: Add New SSH Host→ 输入dev@192.168.0.11 - 选择配置文件保存路径,连接后输入密码。
- 打开文件夹
/home/dev/projects(需提前创建)。 - 在终端中运行
npm run dev,VSCode 会自动转发端口到本地浏览器。
8.2 Samba 文件映射(方便轻量编辑)
安装 Samba:
bash
sudo apt install -y samba
编辑配置:
bash
sudo nano /etc/samba/smb.conf
在末尾添加:
ini
[dev-projects]
path = /home/dev/projects
browseable = yes
writable = yes
read only = no
create mask = 0775
directory mask = 0775
valid users = dev
设置 Samba 密码:
bash
sudo smbpasswd -a dev # 可与系统密码不同
sudo systemctl restart smbd
在 Windows 资源管理器地址栏输入 \\192.168.0.11\dev-projects,输入用户名 dev 和刚才设置的 Samba 密码即可映射为网络驱动器。
注意:Samba 适合直接编辑文本文件,但运行、调试、AI 插件推荐仍使用 Remote-SSH。
9. 挂载 NAS 扩展存储(可选)
假设 NAS 使用 SMB 协议,IP 192.168.0.66,共享文件夹 Backup,用户名 nas_user。
bash
sudo apt install -y cifs-utils
sudo mkdir /mnt/nas
sudo mount -t cifs //192.168.0.66/Backup /mnt/nas -o username=nas_user,password=nas_pass,uid=dev,gid=dev,vers=3.0
开机自动挂载:编辑 /etc/fstab,添加一行:
bash
//192.168.0.66/Backup /mnt/nas cifs username=nas_user,password=nas_pass,uid=dev,gid=dev,vers=3.0 0 0
好处:将大文件(依赖包、数据库备份、媒体文件)存放在 NAS,节省本地 SSD 空间。
10. 防火墙与开机优化
10.1 启用 UFW 防火墙
bash
sudo ufw allow OpenSSH
sudo ufw allow from 192.168.0.0/24 to any port 3306 proto tcp # 允许局域网访问 MySQL
sudo ufw allow from 192.168.0.0/24 to any port 6379 proto tcp # 允许局域网访问 Redis
sudo ufw enable
sudo ufw status verbose
10.2 自动安全更新(可选)
bash
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
11. 进阶:阿里云 ECS 做 FRP 内网穿透(备用)
如果你有一台阿里云 ECS(公网 IP,带宽 3Mbps),可以部署 FRP 实现在外网访问家里的开发服务器。
服务端(阿里云 ECS)
解压,编辑
frps.toml:
tomlbindPort = 7000 auth.token = "your_token"启动:
./frps -c frps.toml开放阿里云安全组端口 7000 以及后续需要穿透的端口(如 6000、6001)。
客户端(Ubuntu 开发机)
同样下载 frp,编辑
frpc.toml:
tomlserverAddr = "你的ECS公网IP" serverPort = 7000 auth.token = "your_token" [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 6000启动客户端:
./frpc -c frpc.toml在外网使用
ssh -p 6000 dev@ECS公网IP即可连接到家中的 Ubuntu 服务器。
注意:3M 带宽仅适合 SSH、RDP 等低流量场景,不适合看视频或大文件传输。
12. 结语
至此,你拥有了一台低功耗、高性能、全功能的远程开发服务器:
- 所有环境运行在物理机上,无虚拟化开销
- Mise 自由切换 Node/Java/PHP 等数十种版本
- MySQL、Redis、Nginx 原生安装,稳定高效
- VSCode Remote-SSH + Samba 映射,Windows 下操作如本地
- NAS 挂载扩展存储,阿里云 ECS 作为备用穿透