华为云 Flexus/Flexus X 云服务器(Linux)实操笔记

适配你当前这套实操流程:创建实例、弹性公网IP、安全组、远程连接、排错,整理成错题笔记风格

一、核心操作流程(最简步骤)

  1. 前置准备
    • 国内云服务器购买前必须完成实名认证(个人用身份证),认证后才能开通实例
    • 选地域:离你最近的,如华南(广州/深圳),延迟低;地域购买后不能更改
    • 关于 Flexus:华为云 Flexus 是轻量/柔性算力云服务器(类似阿里云轻量应用服务器),价格便宜、配置灵活,适合个人学习和中小项目
  2. 创建云服务器实例
    • 选择镜像:推荐 Debian 12 / Ubuntu 22.04 / 24.04 / openEuler(CentOS 7、8 已停止维护,不推荐)
    • 本项目因学习需要使用 CentOS 7.9,最后一个支持它的 Docker 版本是 24.0.9
    • 设置root密码(非常重要,SSH登录用),或创建密钥对(更安全,见 02)
    • 配置系统盘大小;按需购买弹性公网IP(EIP),没有EIP外网无法访问
    • 系统盘放系统,数据盘可单独挂载存放业务数据(学习阶段用系统盘即可)
  3. 绑定弹性公网IP(EIP)
    • EIP是独立资源,创建后需要手动绑定到云服务器
    • 绑定后,这个公网IP就是你ssh、浏览器访问的地址
    • ⚠️ 销毁服务器时,EIP不会自动释放,单独扣费,不用要解绑并删除
  4. 安全组(VPC防火墙,云服务器第一层防护)
    • 安全组:白名单机制,默认全部拒绝外网入站流量,只放行你手动添加的端口
    • 一台实例可以绑定多个安全组,规则会叠加生效(取并集);但不绑定的安全组对该实例无效
    • 创建入方向规则要点:
      • 源地址类型:选IP地址,填0.0.0.0/0 = 所有公网IP(仅练习使用)
      • 协议TCP,填写端口:22(SSH)、80(http)、443(https)
      • 源地址类型如果选「安全组」,只能VPC内网互通,互联网无法访问
  5. 远程连接
    • 方式1:ssh客户端(FinalShell / Xshell / WSL ssh命令)ssh root@公网IP(见 02)
    • 方式2:华为云网页控制台VNC(应急!ssh连不上的时候用,不需要依赖22端口)
  6. 系统内操作
    • 部署服务:python http.server、Nginx等
    • 系统内部防火墙(firewalld / iptables / ufw):第二层防护,安全组放行后,系统内部防火墙也要放行端口
    • 本项目实际关闭了 firewalld 改用 iptables(Docker 兼容性问题),详见 03 笔记
  7. 备份
    • 给系统盘打快照(控制台操作),关键操作前留一个恢复点,类似虚拟机的一键还原

二、高频问题&报错排查(重点,面试/实操最容易踩坑)

1. ssh连接超时 / 连接不通(最常见)

排查顺序(从上到下):

  1. 检查EIP是否绑定到实例,EIP是否正常
  2. 安全组有没有放行对应端口(22端口)
    • 坑:安全组规则源地址类型选错,选成「安全组」,外网无法访问
  3. 系统内部防火墙拦截端口(firewalld / iptables)
# firewalld 查看状态
systemctl status firewalld
# firewalld 放行端口
firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload
# 本项目实际改用 iptables,详见 03 笔记
  1. 服务器实例状态异常:关机、故障

快速验证:telnet 公网IP 22 或在本地 PowerShell 执行 Test-NetConnection 公网IP -Port 22,测试端口通不通

2. 安全组相关坑

  • ❌ 误区:创建了安全组,但是实例没有绑定这个安全组 → 规则完全不生效
  • ❌ 误区:添加规则只填端口,源地址类型选错,选安全组,外网访问失败
  • ❌ 误区:一次性开放全部端口 1-65535,生产高危,容易被扫描、暴力破解

    练习可以临时用0.0.0.0/0,正式环境改为仅自己的公网IP

3. 网络类问题

  • 能ping通公网IP,但是ssh连不上:ICMP(ping)和TCP端口是两套独立规则!ping通不代表端口开放

    很多新手踩坑:安全组放行了ping,但是忘记开放22端口,能ping但是ssh超时

  • 云服务器出方向默认全部允许(服务器访问外网,如apt/yum下载软件),一般不用修改出方向规则

4. 密码/登录问题

  • ssh提示Permission denied:密码错误;或者镜像禁止root账号ssh登录(需要修改ssh配置)
  • 密钥登录:如果创建实例选择密钥,不能用密码登录,只能使用私钥文件

5. 服务访问问题(部署网页服务,浏览器打不开)

排查三步:

  1. 安全组放行80端口
  2. 系统防火墙放行80端口
  3. 服务监听地址:必须监听 0.0.0.0:80,只监听127.0.0.1的端口外网无法访问

    坑:python http.server 默认监听0.0.0.0,但是很多自定义服务默认仅监听本地回环127.0.0.1,外网访问失败。 查看监听端口命令:ss -tlnp

6. 计费坑(非常重要)

  • EIP 单独计费,只要不释放,就算不绑定服务器,持续扣费,不用记得解绑删除
  • 关机不代表停止计费:云服务器关机依然收费;选择“释放”才会销毁停止计费
  • 流量:入方向流量免费,出网公网流量按量计费

三、运维常用命令(服务器内)

# 查看监听端口
ss -tlnp
# 查看防火墙状态
systemctl status firewalld
# 查看网卡IP
ip a
# 查看进程
ps aux

四、排错固定排查顺序(建议背下来,面试常问)

当外网访问服务失败,固定排查顺序:

  1. 实例是否开机、EIP是否绑定
  2. 安全组入方向:有没有放行端口
  3. 系统内部防火墙是否放行端口
  4. 服务是否正常启动
  5. 服务监听地址是不是 0.0.0.0(不是127.0.0.1)
  6. 检查进程是否监听对应端口 ss -tlnp

五、安全建议

  1. 不要长期开放0.0.0.0/0的22端口,练习结束就修改为仅自己IP
  2. SSH不要使用弱密码,有条件使用密钥登录,关闭密码登录
  3. 不要随意开放大量端口,遵循最小权限原则,需要哪个端口开放哪个

六、关于 ICP 备案(重要,务必了解)

什么是备案

国内云服务器(华为云、阿里云等大陆节点),如果要通过域名对外开放 80/443 网站服务,必须先向工信部申请 ICP 备案,把域名和服务器登记。未备案的域名,解析到国内服务器并开放网站,会被服务商检测并阻断。

要点

情况 是否需要备案
只用公网 IP 访问(不绑域名) 不需要
域名解析到国内服务器,做网站/80/443 需要
域名解析到中国香港/海外服务器 不需要
仅 SSH(22端口)等非网站服务 一般不需要

备案流程

云厂商控制台提交 → 上传身份证、域名证书、人脸核验 → 云厂商初审 → 工信部审核(约 1-3 周)→ 通过后获得备案号,网站底部需展示。

当前项目的情况与应对

  • 你现在把 cloud321.cloud 直接解析到国内华为云服务器并开放 80/443,严格来说需要备案,否则可能被检测阻断(不是立即封,存在被拦风险)
  • 应对方案:
    1. 正规做法:用华为云提交免费备案(需约 1-3 周,期间域名不能开站)
    2. 学习/面试演示:面试官验证时主要是演示,可以接受短期风险;或演示时用 IP + 端口
    3. 证书申请(Let's Encrypt)本身不要求备案,能正常签发 HTTPS
  • 注意:.cloud 等后缀域名支持备案,具体以阿里云备案系统支持的后缀列表为准

七、面试要点小结

  • 能讲清"安全组(云平台第一层)→ 系统防火墙(第二层)→ 服务监听地址"三层网络
  • 理解 EIP 是独立计费资源、关机仍收费、流量方向
  • 知道国内服务器域名开站要 ICP 备案,以及香港/海外服务器免备案的区别
  • 会用 VNC 控制台应急、会打快照备份