云服务器怎么用?新手入门

结论: 云服务器从零到上线的完整路径是:注册实名 → 选地域与规格 → 选镜像 → 配安全组 → 用密钥登录 → 做首次安全加固 → 装环境部署应用 → 绑域名配 HTTPS → 设快照与备份 → 做成本监控。新手最容易翻车的不是技术,而是安全组没放行、用 root 裸奔、忘记备份和忘记续费这四件事。

如果你刚买了一台云服务器,面对一个黑底白字的终端窗口无从下手,这篇文章就是给你写的。它覆盖的是从零开始用云服务器的完整生命周期——从注册开通那一刻,一直到把成本管住。至于"买完之后某个具体软件怎么装",本站另有《云服务器新手入门教程》按场景细讲,两篇配合使用。

命令以 Ubuntu 24.04 LTS 为例(截至 2026 年主流 LTS 版本),Windows 云服务器思路相同但操作路径不同,会在文中单列说明。

一、开通前:地域、规格、镜像三个决策

结论:地域选"离用户近 + 满足备案要求",规格选"能跑起来且留 30% 余量",镜像选官方 LTS 版本。 这三个决策在开通后修改成本各不相同——地域最难改(要迁移),规格最容易改(多数支持在线升配),镜像居中(可重装系统)。

地域怎么选

地域优点缺点适合场景
国内(华北/华东/华南等)延迟低(同省 5~20 ms)、带宽便宜、支持备案域名必须完成 ICP 备案才能对外服务面向国内用户的网站、小程序、App 后端
中国香港免备案、国际出口质量较好、中文支持好价格高于国内同配置约 30%~100%,带宽较贵临时上线、外贸试水、不想备案的个人项目
新加坡 / 日本 / 美西海外用户访问快、免备案、内容限制少国内访问延迟 80~200 ms 且可能不稳定面向海外用户的业务、跨境独立站
同地域多可用区可做主备与高可用,内网互通延迟 < 2 ms需额外付费与架构设计生产环境、对可用性有要求的业务

选地域的三条原则:

  1. 用户在哪就选哪:国内用户为主的站点放国内地域,延迟差异是用户能直接感知的(首屏快 200 ms 与慢 200 ms 完全是两个体验)。
  2. 备案是硬约束:只要用国内地域 + 域名对外提供服务,就必须完成 ICP 备案,通常需要 10~20 个工作日,新站要提前规划。
  3. 价格差异真实存在:同一规格在不同地域可能相差 20%~40%,非核心业务可优先考虑成都、乌兰察布等成本较低的地域。

规格与镜像怎么选

  • 个人博客 / 学习练手:2 核 2 GB、40 GB SSD、3~5 Mbps 带宽起步即可。静态博客甚至 1 核 1 GB 也能跑。
  • 中小企业官网 / 小程序后端:2 核 4 GB、60~100 GB SSD、5~10 Mbps,数据库可先用同机部署,日活上万后再拆分。
  • 电商 / API 服务 / 多站点:4 核 8 GB 起步,数据库独立部署,带宽按实际峰值测算。
  • 镜像:优先选 Ubuntu 24.04 LTS 或 Rocky Linux 9(支持周期长、资料多);需要图形界面或 ASP.NET 才选 Windows Server;不要选来路不明的第三方"集成镜像"。
  • 计费:长期运行选包年包月(单价更低),短期测试选按量付费(用完即停),有明确长期需求可考虑预留实例或节省计划。截至 2026 年,入门级 2 核 2 GB 年付常在 80~200 元区间(新用户活动价),同规格常规续费约 600~1200 元/年,具体以官网实时报价为准。

二、创建实例:安全组与登录方式

结论:安全组就是云上的虚拟防火墙,默认全拒绝,你需要显式放行 22、80、443。 新手最常见的"装好了 Nginx 但外网访问不了",九成是安全组没放行 80/443,而不是 Nginx 配错。

端口协议是否放行说明与建议
22TCP放行,但限制来源 IPSSH 远程管理。生产环境建议只对办公网/堡垒机 IP 开放,或改用非标准端口
80TCP放行,来源 0.0.0.0/0HTTP,通常用于跳转到 HTTPS
443TCP放行,来源 0.0.0.0/0HTTPS,正式服务端口
3389TCP仅 Windows 且限制来源Windows 远程桌面,暴露公网是高危行为
3306 / 6379TCP仅内网放行MySQL/Redis 绝不能对公网开放,否则极易被勒索或挖矿
其余端口—默认拒绝需要时再单独加,用完即删

登录方式选密钥对(SSH Key)而不是密码:

bash
# 本地生成密钥对(Windows 可用 PowerShell 或 Git Bash,命令相同)
ssh-keygen -t ed25519 -C "yourname@example.com"
# 生成 ~/.ssh/id_ed25519(私钥,绝不外传)与 ~/.ssh/id_ed25519.pub(公钥)

# 首次登录(Ubuntu 默认用户名为 ubuntu,Rocky/CentOS 为 root 或 ec2-user)
ssh -i ~/.ssh/id_ed25519 ubuntu@你的公网IP

# 配置别名,以后只需 ssh myserver
cat >> ~/.ssh/config <<'EOF'
Host myserver
    HostName 你的公网IP
    User ubuntu
    IdentityFile ~/.ssh/id_ed25519
    Port 22
EOF
chmod 600 ~/.ssh/config

密钥 vs 密码的区别很实在:22 端口暴露在公网上,一台新机器通常几分钟内就会迎来第一批暴力破解尝试;8 位密码在分布式爆破面前撑不了多久,而 ED25519 密钥对在当前算力下无法被枚举。唯一要注意的是私钥一旦丢失就无法再登录(云厂商一般不支持找回),务必备份。

Windows 云服务器没有 SSH,用远程桌面(RDP)连接,云控制台会生成初始管理员密码,登录后第一件事就是改密码并在防火墙限制来源。

三、首次登录后必做的五件事

结论:新机器上线后的前 10 分钟,按固定顺序做五件事——更新系统、建 sudo 用户、禁用 root 密码登录、配防火墙、设时区与 NTP。 这五步能把绝大多数自动化扫描与爆破挡在门外。

bash
# ① 更新系统(装完系统第一件事,修复已知漏洞)
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget vim git ufw fail2ban htop

# ② 建一个 sudo 用户,不再直接用 root/ubuntu 干活
adduser ops
usermod -aG sudo ops
# 把你的公钥复制给新用户
mkdir -p /home/ops/.ssh
cp ~/.ssh/authorized_keys /home/ops/.ssh/
chown -R ops:ops /home/ops/.ssh
chmod 700 /home/ops/.ssh && chmod 600 /home/ops/.ssh/authorized_keys

# ③ 禁用 root 密码登录(改之前务必另开一个终端验证新用户能登录,别把自己锁在外面)
sudo vim /etc/ssh/sshd_config
bash
# /etc/ssh/sshd_config 关键项
PermitRootLogin prohibit-password      # 禁止 root 用密码登录(可保留密钥登录)
PasswordAuthentication no             # 全面禁用密码认证,只用密钥
PubkeyAuthentication yes
PermitEmptyPasswords no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2

# 改完先检查语法再重载,不要直接 restart
sudo sshd -t && sudo systemctl reload ssh
bash
# ④ 配防火墙(UFW,Ubuntu 24.04 自带)
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'
sudo ufw enable
sudo ufw status verbose

# ⑤ 设时区与 NTP(时间不对会导致证书校验失败、日志时间错乱、定时任务漂移)
sudo timedatectl set-timezone Asia/Shanghai
sudo timedatectl set-ntp true
timedatectl status

做完这五步,建议立刻验证一次:另开一个终端窗口用新用户 ssh ops@IP 登录成功后再断开原连接。因为 PasswordAuthentication no 一旦生效而你又没配好密钥,就再也进不去了——云厂商提供的 VNC 控制台是最后的救命通道,但操作体验很差。

四、环境搭建到上线:部署、域名与 HTTPS

结论:上线的最小闭环是"应用跑起来 → 域名解析到公网 IP → 申请 HTTPS 证书 → Nginx 反向代理"。 新手建议先用 Nginx 托管静态页跑通全流程,再上真实应用,能极大降低排错难度。

bash
# 1. 安装 Nginx(Ubuntu 24.04 官方源为 Nginx 1.26 系列)
sudo apt install -y nginx
sudo systemctl enable --now nginx
curl -I http://127.0.0.1          # 本机访问应返回 200

# 2. 放一个测试页,先验证链路
echo '

Hello from cloud server

' | sudo tee /var/www/html/index.html
nginx
# /etc/nginx/sites-available/example.com (Nginx 1.26)
server {
    listen 80;
    server_name example.com www.example.com;
    # 未配证书前先把 /.well-known 放行,供 certbot 验证域名所有权
    location /.well-known/acme-challenge/ { root /var/www/html; }
    location / { return 301 https://$host$request_uri; }
}

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;
    root /var/www/html;
    index index.html;

    # 证书由 certbot 自动写入
    ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_session_cache shared:SSL:10m;

    location / {
        try_files $uri $uri/ =404;
    }

    # 反向代理示例:把 /api 转给本机 8080 上的应用
    location /api/ {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
bash
# 3. 域名解析:在域名服务商处添加 A 记录指向公网 IP
#    example.com      A  你的公网IP
#    www.example.com  A  你的公网IP
dig +noall +answer example.com A      # 验证解析是否生效(TTL 内可能不立即生效)

# 4. 申请免费 HTTPS 证书(Let's Encrypt,有效期 90 天,certbot 会自动续期)
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
sudo certbot renew --dry-run            # 验证自动续期是否正常

# 5. 生效配置并设为开机自启
sudo nginx -t && sudo systemctl reload nginx
sudo systemctl enable nginx

# 6. 应用进程用 systemd 托管,避免 SSH 断开就消失
sudo tee /etc/systemd/system/myapp.service >/dev/null <<'EOF'
[Unit]
Description=My App
After=network.target

[Service]
Type=simple
User=ops
WorkingDirectory=/home/ops/app
ExecStart=/home/ops/app/start.sh
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now myapp
sudo journalctl -u myapp -f              # 看应用日志

三个新手必踩的坑,顺手避开:

  • SSH 断开后应用就停了:因为进程是终端的子进程。用 systemd 托管(如上),或用 nohup ... &、Docker 等方式让其脱离终端。
  • 本机 curl 127.0.0.1 通但外网不通:按"安全组 → 云防火墙 → 系统 ufw → Nginx 是否监听 0.0.0.0"四层顺序排查。
  • 域名能访问但报不安全:证书未覆盖该域名(如只签了 example.com 没签 www),或页面里混用了 http 资源。

五、快照备份与成本控制

结论:快照是后悔药,成本监控是止血钳,两者都要在上线的第一天就配好。 备份这事平时毫无存在感,出事那天它是唯一能救你的东西。

bash
# 1. 数据库定时备份(每天 3 点,保留 7 天)
sudo mkdir -p /data/backup
cat > /home/ops/backup.sh <<'EOF'
#!/bin/bash
DATE=$(date +%F)
mysqldump -u root -p'你的密码' --single-transaction --routines mydb \
  | gzip > /data/backup/mydb-$DATE.sql.gz
find /data/backup -name "*.sql.gz" -mtime +7 -delete
EOF
chmod +x /home/ops/backup.sh
(crontab -l 2>/dev/null; echo "0 3 * * * /home/ops/backup.sh") | crontab -

# 2. 备份要异地:同步到对象存储(示例用 s3 兼容工具,各厂商命令略有差异)
#    aws s3 cp /data/backup/mydb-$DATE.sql.gz s3://your-bucket/backup/
#    关键:备份账号只给"上传"权限,不给删除权限,防勒索软件一并加密

# 3. 云上快照策略:建议每天 1 次、保留 7 天,重大变更前手动补一次
#    在云控制台"快照 → 自动快照策略"配置,比命令行更直观

# 4. 成本监控:设置预算告警(月消费达到 80% 时短信/邮件提醒)
#    并给资源打标签(项目/环境/负责人),账单出来才拆得清

成本控制的四条实操建议:

  • 按量付费的机器用完就停,停机后计算资源不计费(但云盘与公网 IP 仍计费)。
  • 带宽选按固定带宽还是按流量,取决于你的流量曲线:稳定高并发选固定带宽,波动大且峰值低选按流量计费。
  • 闲置资源是最大的浪费:未挂载的云盘、未绑定的弹性公网 IP、忘记释放的测试实例,每月都在悄悄扣钱。
  • 续费是生死线:包年包月到期后通常有 7~15 天宽限期,之后资源可能被释放且数据难以找回。务必开启自动续费或设置到期前 30 天、7 天、1 天三次提醒。

六、新手十大易错操作表

#误区后果正确做法
1一上来买高配"一步到位"资源闲置 90%,白花几倍的钱2 核 2G~4G 起步,云服务器的优势就是随时升配
2全程用 root 操作一条 rm -rf 就毁掉全站建 sudo 用户,日常用它,root 只在必要时 sudo
3安全组不放行 80/443装好 Nginx 外网还是打不开安全组显式放行 22/80/443,其余默认拒绝
4数据库端口对公网开放被勒索或挖矿,数据被清空3306/6379 只监听内网,或用安全组限制来源
5从不做备份和快照一次误操作或病毒即数据全失自动快照 + 数据库定时备份 + 异地留存
6忘记续费导致实例释放数据可能永久丢失,业务中断开自动续费 + 到期多级提醒 + 到期前打快照
7按量计费测试完不关机账单月底爆表测试结束立即停机或释放,并设置预算告警
8用宝塔等面板后不管面板安全面板端口成为新的入侵入口改默认端口、强口令、限制来源 IP、及时更新
9SSH 用弱密码且开放 22 公网几天内被暴力破解改用 ED25519 密钥,禁用密码登录,限制来源
10装完不更新系统不打补丁已知漏洞长期暴露开启 unattended-upgrades 自动安全更新

常见误区 / 排错提示

  • SSH 连不上:按顺序排查四条——本地网络与 IP 是否正确、安全组是否放行 22、系统 ufw 是否放行、用户名是否正确(Ubuntu 是 ubuntu,Rocky 是 rocky,AWS 多为 ec2-user)。用 ssh -v 看详细握手过程。
  • Nginx 装了外网访问不了:在机器上执行 ss -lntp | grep nginx 确认监听地址是 0.0.0.0:80 而不是 127.0.0.1:80;再从外部 telnet IP 80 验证。
  • 域名解析不生效:先 dig 确认,再确认是否是本机 DNS 缓存;TTL 未过期时最长要等 TTL 秒数。国内地域还要确认已完成备案,否则会被拦截。
  • HTTPS 证书申请失败:多数是 80 端口未放行或 .well-known 路径被重定向拦截,导致 certbot 的 HTTP-01 验证失败。
  • 磁盘突然满了:用 df -h 与 du -sh /var/* | sort -h 定位;常见元凶是 /var/log 的日志增长与 Docker 的 /var/lib/docker。日志要配 logrotate。