大家可以在家直接使用一台旧电脑或低成本硬件来打造专属的云服务器,有利于节省开支,对于新手小白搭建一台个人云服务器过程还是算比较复杂的。下面是我们为大家整理的大家个人云服务器的详细操作流程,所有命令都是基于Ubuntu Server系统。
要提前准备好相关硬件。如选择至少双核CPU、4GB内存的电脑,建议配备SSD提升IO性能。若使用笔记本,需关闭睡眠模式:
sudo systemctl mask sleep.target suspend.target hibernate.target hybridsleep.target
连接网线保证网络稳定,记录网卡名称(通常为enp3s0或eth0)。系统安装要先从Ubuntu官网下载22.04 LTS服务器版镜像,使用Rufus制作启动U盘,插入目标电脑启动,选择"Install Ubuntu Server"
分区建议系统分区50GB ext4挂载到/ ,数据分区:剩余空间ext4挂载到/data
设置静态IP(示例为192.168.1.100):
yaml
network:
version: 2
ethernets:
enp3s0:
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
保存到/etc/netplan/00installerconfig.yaml后执行:
sudo netplan apply
基础环境配置,更新系统并安装必备工具:
sudo apt update && sudo apt upgrade y
sudo apt install y curl git ufw fail2ban
配置防火墙:
sudo ufw allow 22/tcp # SSH端口
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
部署虚拟化环境,安装Docker引擎:
curl fsSL https://get.docker.com | sudo sh
sudo usermod aG docker $USER
创建容器存储目录:
sudo mkdir p /data/docker
sudo ln s /data/docker /var/lib/docker
搭建Web服务,创建Nginx容器:
docker run d name nginx \
p 80:80 p 443:443 \
v /data/nginx:/etc/nginx \
v /data/web:/var/www \
restart always \
nginx:alpine
在/data/web创建测试页面:
echo "<h1>My Home Server</h1>" > /data/web/index.html
配置动态DNS 注册免费域名:
sudo crontab e
添加定时任务(替换yourtoken和域名):
/5 curl s "https://www.duckdns.org/update?domains=yourdomain&token=yourtoken&ip=" >/dev/null 2>&1
路由器端口转发,在路由器管理界面(通常为192.168.1.1)。找到"端口转发"或"NAT"设置,添加规则:外部端口80/443转发到192.168.1.100的80/443,保存并重启路由器
SSL证书申请要安装Certbot工具:
sudo apt install y certbot
申请证书(替换域名):
sudo certbot certonly standalone d yourdomain.duckdns.org
配置Nginx自动加载证书:
docker exec nginx sh c "ln s /etc/letsencrypt/live/yourdomain.duckdns.org/ /etc/nginx/ssl"
安全加固需要禁用root登录:
sudo sed i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
创建普通用户:
sudo adduser deployer
sudo usermod aG sudo deployer
设置SSH密钥登录,本地生成密钥对:
sshkeygen t ed25519
上传公钥到服务器:
sshcopyid deployer@yourdomain.duckdns.org
数据备份方案,安装Rclone同步工具:
sudo apt install y rclone
配置云存储(如Google Drive):
rclone config
创建每日备份任务:
sudo crontab e
添加任务(示例每天2点备份):
0 2 /usr/bin/rclone sync /data remote:backup logfile=/var/log/rclone.log
监控与维护,安装监控面板:
docker run d name glances \
p 6120861209:6120861209 \
e GLANCES_OPT="w" \
v /var/run/docker.sock:/var/run/docker.sock:ro \
pid host \
nicolargo/glances:alpine
访问http://yourdomain.duckdns.org:61208查看实时资源使用情况。
常见问题如出现端口无法访问,应该先检查ufw状态和路由器转发规则。如果是证书续期失败需在crontab添加每月续期任务
0 3 1 /usr/bin/certbot renew quiet posthook "docker exec nginx nginx s reload"
磁盘空间不足请先清理Docker旧镜像
docker system prune af
以上步骤就是搭建个人云服务器全部过程,搭建完成后就可以通过域名来访问家庭服务器,后期大家还可以继续扩展安装Nextcloud私有云、Home Assistant智能家居中心等服务。大家最好要保证系统更新,每个季度都检查硬件的使用状态,保证服务器的持续稳定的运行。当然如果没有过多时间去维护或搭建,直接租用一台云服务器也可以。