【运维】Linux 服务器实战(1):Ubuntu 新机器 30 分钟初始化清单【系列开篇】
Linux 服务器实战 · 第 1 篇(系列开篇)
目标:Ubuntu 22.04/24.04 新机器到手后 30 分钟内 完成基础初始化。命令可直接复制;后续篇章会展开磁盘、日志、安全、诊断。
适用场景
- 云厂商刚开的 VPS / 物理机新装 Ubuntu
- 你要 SSH 上去部署 Django、Node、Docker、数据库等
- 需要一套 每次新机都走一遍 的最小 checklist
0. 首次登录:先看清机器
# 系统版本
lsb_release -a
hostnamectl
# 硬件概览
lscpu
free -h
df -h
uptime
| 命令 | 看什么 |
|------|--------|
| `lsb_release -a` | 22.04 还是 24.04 |
| `free -h` | 内存是否和购买规格一致 |
| `df -h` | 根分区 `/` 剩余空间 |
| `uptime` | 负载是否异常(新机器应接近 0) |
---
## 1. 更新系统(必做)
```bash
sudo apt update
sudo apt upgrade -y
# 可选:仅安全更新
# sudo apt upgrade -y --without-new-pkgs
若提示 kernel 更新,计划一次重启:
```bash
sudo reboot
---
## 2. 时区与时间同步
```bash
timedatectl status
sudo timedatectl set-timezone Asia/Shanghai
timedatectl status
确认 **System clock synchronized: yes**。若否:
```bash
sudo systemctl enable --now systemd-timesyncd
# 或云厂商提供的 chrony
sudo hwclock --systohc # 同步硬件时钟,避免重启后时间跳变
---
## 3. 安装常用工具(一条命令)
sudo apt install -y \
curl wget git vim tmux htop unzip \
net-tools dnsutils ca-certificates \
software-properties-common apt-transport-https
| 工具 | 用途 |
|---|---|
tmux |
SSH 断线后会话不丢 |
htop |
交互式看 CPU/内存 |
dnsutils |
dig 排查 DNS |
4. 创建日常用户(不要长期 root)
sudo adduser deploy
sudo usermod -aG sudo deploy
本机测试 sudo:
```bash
su - deploy
sudo whoami # 应输出 root
后续用 **密钥登录 deploy**,见系列第 2 篇 SSH 加固。
---
## 5. 基础 shell 习惯(可选但推荐)
写入 `~/.bashrc`:
```bash
cat >> ~/.bashrc << 'EOF'
# 常用别名
alias ll='ls -alF'
alias ..='cd ..'
logsvc() { sudo journalctl -u "$1" -f; }
EOF
source ~/.bashrc
用法:`logsvc nginx` 实时跟服务日志。
---
## 6. 快速安全底线(详细见第 2 篇)
新机 **至少** 做这三件事:
```bash
# 1. 启用 UFW,只放行 SSH + Web
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
# 若跑 Web:sudo ufw allow 80,443/tcp
sudo ufw enable
sudo ufw status verbose
# 2. 确认 SSH 服务
sudo systemctl status ssh --no-pager
# 3. 看一眼最近登录
last -n 10
---
## 7. 磁盘与日志:先心里有数
```bash
lsblk
df -h
sudo journalctl --disk-usage
- 根分区 `< 20%` 剩余 → 第 3 篇学扩容/清理
- journal 占用数 GB → 第 4 篇学 `journalctl --vacuum-*`
---
## 8. 重启策略
```bash
# 立即重启
sudo reboot
# 定时重启(慎用,例如维护窗)
# sudo shutdown -r +10 "maintenance in 10 min"
# 取消已安排的关机/重启
# sudo shutdown -c
---
## 30 分钟 Checklist(可打印)
| 步骤 | 命令/动作 | 完成 |
|------|-----------|------|
| 1 | `lsb_release` / `free -h` / `df -h` | ☐ |
| 2 | `apt update && apt upgrade` | ☐ |
| 3 | `timedatectl set-timezone Asia/Shanghai` | ☐ |
| 4 | 安装 curl/git/vim/tmux/htop | ☐ |
| 5 | 创建 sudo 用户 | ☐ |
| 6 | UFW 启用 + 放行 SSH | ☐ |
| 7 | `lsblk` + journal 占用扫一眼 | ☐ |
---
## 系列导航
| 篇 | 主题 |
|----|------|
| **1** | **新服务器初始化(本文)** |
| 2 | 用户、sudo、SSH、fail2ban |
| 3 | 磁盘与 LVM 扩容 |
| 4 | systemd 与 journal 日志 |
| 5 | 网络、ufw、端口 |
| 6 | 进程与性能监控 |
| 7 | 故障诊断手册 |
| 8 | 环境部署、备份、Cron |
---
## 本篇速查
```bash
lsb_release -a && free -h && df -h
sudo apt update && sudo apt upgrade -y
sudo timedatectl set-timezone Asia/Shanghai
sudo ufw allow OpenSSH && sudo ufw enable
```
下一篇:SSH 密钥登录、sudoers、fail2ban 与登录审计。