小白建站实操:从服务器到网站收录 · 2/10

新服务器拿到手后做什么:Ubuntu / Debian 基础配置清单

从资源核对、系统更新、时区、主机名到管理员账号,把一台空白 Ubuntu / Debian 服务器整理成可继续部署的稳定环境。

0 阅读

先准备一条不会把自己锁在门外的退路

修改网络和 SSH 之前,先确认服务商网页控制台能够打开。万一远程连接被错误配置挡住,它就是最后的入口。下面仍以 203.0.113.10 为示例,执行时替换成你的公网 IP;密码不要写进命令,也不要截到公开图片里。

bash
ssh root@203.0.113.10

第一次连接时,SSH 会要求确认主机指纹。服务商控制台如果提供了指纹,就先核对再输入 yes。以后同一 IP 突然提示指纹变化,可能是实例被重装,也可能需要检查连接,不要条件反射地删除本地记录。

先记录原始状态,再安装软件

下面几条命令会告诉你系统版本、架构、CPU、内存、硬盘和网卡。把结果放进私密的部署笔记,以后排错时能知道“最初是什么样”。

bash
cat /etc/os-release
uname -m
nproc
free -h
df -h
ip -brief address

检查系统仍在支持周期内,架构为 64 位,CPU 和内存与订单大致相符,根分区还有足够空间。实例规格明显不对时先停止,不要在错误的机器上继续投入时间。

更新系统软件包

云厂商镜像制作后可能已经放了一段时间,软件索引和安全更新不一定是最新的。先刷新索引,再安装当前可用的修复;如果系统提示需要重启,就在安装应用前完成。

bash
sudo apt update
sudo apt upgrade -y
test -f /var/run/reboot-required && cat /var/run/reboot-required

升级时保持 SSH 窗口打开。如果遇到“是否替换配置文件”的提示,而你已经修改过那个文件,先看差异,不要一路按回车。重启后重新连接,再执行 uptime 确认机器已经回来。

设置主机名和时区

清楚的主机名会出现在命令提示符和日志里。可以用 web-01 这种中性名字,不要把密码、客户名或敏感信息写进去。系统时间必须准确,因为 HTTPS 证书、日志顺序和定时任务都依赖它。

bash
sudo hostnamectl set-hostname web-01
sudo timedatectl set-timezone Asia/Shanghai
timedatectl status

服务器统一使用 UTC 也完全可以,关键是团队知道采用哪一种,并在日志分析时保持一致。timedatectl status 中应看到时间同步处于正常状态。

创建日常管理账号

一直使用 root,任何输错的命令都可能直接修改全系统。创建一个有 sudo 权限的普通账号,日常部署用它;完成后另开一个终端测试,旧的 root 窗口暂时不要关。

bash
sudo adduser deploy
sudo usermod -aG sudo deploy
su - deploy
sudo whoami

最后一条预期输出 root,说明 deploy 可以在需要时临时提权。这里只是把账号准备好,SSH 密钥和禁止危险登录方式要等下一篇验证后再做。

小内存机器要不要加 Swap

先执行 swapon --show。如果没有任何输出,1GB 或 2GB 的小服务器在安装依赖、构建项目时可能更容易内存不足。适量 Swap 可以降低突然被系统杀掉的概率,但速度远慢于内存,也不能代替升级 RAM。创建前查看服务商对系统盘和快照的说明,并在 free -h 中确认结果。

我的心得

我以前拿到服务器就急着装程序,后来才发现时区不对、磁盘太小,甚至镜像版本也选错了。现在我固定先花十分钟保存一份基线。以后遇到“网站好像变慢了”,就能把当前数据与最初状态比较,而不是靠感觉猜。

完成标准

系统已经更新、时间正确、主机名清楚、硬盘有余量、deploy 能执行 sudo,这一篇就完成了。先保留当前 root 会话,下一篇继续做 SSH 密钥、防火墙和自动更新