华为云实战心得:从云服务器部署到基础运维的完整实践
一、前言
随着云计算技术的发展,越来越多的个人开发者、企业和团队开始使用云服务器部署网站、接口服务、数据库以及各种应用程序。
相比传统物理服务器,云服务器具有开通速度快、资源弹性扩展、管理方便等特点。华为云提供了包括弹性云服务器、对象存储、云数据库、云监控和安全服务在内的一系列云计算产品,可以满足从个人项目到企业级应用的不同需求。
本文结合实际使用场景,分享使用华为云进行服务器部署和基础运维时的一些经验,包括服务器创建、环境配置、安全组设置、应用部署以及常见问题排查。
二、选择华为云服务器时需要考虑什么?
华为云中的弹性云服务器通常称为 ECS,即 Elastic Cloud Server。它可以理解为一台运行在云平台上的虚拟服务器。
在购买或创建云服务器时,主要需要关注以下几个方面:
1. 地域选择
地域会影响访问延迟和网络质量。
选择地域时可以考虑:
-
目标用户所在地区;
-
服务器与数据库之间的距离;
-
业务对网络延迟的要求;
-
相关云服务是否支持该地域。
如果用户主要位于中国大陆,通常应优先选择距离用户较近的中国大陆地域;如果服务面向海外用户,则可以根据用户分布选择对应的海外地域。
2. CPU 和内存配置
不同应用对服务器资源的需求差异较大。
例如:
-
静态网站:通常不需要很高的 CPU 和内存;
-
Java、Node.js 等后端服务:需要根据并发量选择内存;
-
数据库服务:通常更依赖内存、磁盘性能和 I/O 能力;
-
编译、图像处理等任务:可能更依赖 CPU 性能。
个人测试项目可以从较低配置开始,后续根据监控数据进行扩容,而不是一开始就购买过高配置。
3. 磁盘类型
系统盘通常用于安装操作系统和应用程序,数据盘则用于保存业务数据。
选择磁盘时需要关注:
-
容量;
-
随机读写性能;
-
数据可靠性;
-
是否需要独立扩容;
-
是否需要定期备份。
对于数据库、日志系统等 I/O 较为频繁的业务,磁盘性能尤其重要。
三、创建云服务器后的第一步:基础安全配置
服务器创建成功后,不建议立即开始部署业务,而应该先进行基础安全配置。
1. 修改或确认登录方式
Linux 服务器一般通过 SSH 登录,Windows 服务器通常通过远程桌面登录。
建议:
-
使用强密码;
-
尽量使用 SSH 密钥登录 Linux;
-
不使用容易猜测的用户名和密码;
-
不要在公共场合泄露私钥;
-
定期检查登录日志。
如果使用 SSH 密钥,应妥善保存私钥文件。一旦私钥泄露,攻击者可能直接获得服务器访问权限。
2. 配置安全组
安全组相当于云服务器外围的一层网络访问控制规则。
常见端口包括:
| 端口 | 用途 |
|---|---|
| 22 | Linux SSH 远程登录 |
| 3389 | Windows 远程桌面 |
| 80 | HTTP 网站访问 |
| 443 | HTTPS 网站访问 |
| 3306 | MySQL 数据库 |
| 6379 | Redis 服务 |
实际开放端口时,应遵循“最小权限”原则。
例如,网站服务器通常只需要对外开放 80 和 443 端口,SSH 管理端口可以限制为固定办公 IP,而数据库端口不应该直接对公网开放。
3. 不要直接开放数据库端口
很多初学者为了方便调试,会在安全组中直接开放 3306、6379 等端口。这种做法存在较大的安全风险。
更合理的方式是:
-
数据库只监听内网地址;
-
业务服务器通过内网访问数据库;
-
管理人员通过 VPN、堡垒机或 SSH 隧道访问;
-
使用强密码和访问控制;
-
关闭不必要的远程访问权限。
四、在华为云 ECS 上部署 Linux 环境
以下以常见的 Linux 服务器为例。
1. 更新系统软件包
服务器首次登录后,可以先更新系统软件包。
sudo apt update
sudo apt upgrade -y
如果使用的是基于 RPM 的发行版,则可以使用对应的软件包管理工具,例如:
sudo dnf update -y
具体命令应根据服务器安装的操作系统版本进行调整。
2. 安装常用工具
开发和运维过程中,经常会用到以下工具:
sudo apt install -y git curl wget vim unzip net-tools
这些工具分别用于代码拉取、网络请求、文件下载、文本编辑、压缩包处理和网络排查。
3. 检查服务器资源
可以使用以下命令检查当前服务器状态:
uname -a
查看内存:
free -h
查看磁盘:
df -h
查看 CPU 和进程:
top
这些命令能够帮助我们快速判断服务器是否存在内存不足、磁盘空间不足或 CPU 占用过高等问题。
五、部署一个简单的网站服务
以 Nginx 为例,可以快速部署一个静态网站。
1. 安装 Nginx
sudo apt install nginx -y
启动服务:
sudo systemctl start nginx
设置开机启动:
sudo systemctl enable nginx
查看运行状态:
sudo systemctl status nginx
2. 配置网站文件
Nginx 的默认网站目录通常位于:
/var/www/html
可以创建一个简单的首页:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>华为云测试网站</title>
</head>
<body>
<h1>Hello Huawei Cloud</h1>
<p>这是部署在华为云 ECS 上的测试页面。</p>
</body>
</html>
将文件放入网站目录后,在浏览器中访问服务器公网 IP,即可查看页面。
3. 检查端口是否正常
在服务器上可以执行:
ss -tulnp
如果 Nginx 正常运行,通常可以看到 80 端口处于监听状态。
如果浏览器无法访问,需要依次检查:
-
Nginx 服务是否启动;
-
服务器本地防火墙是否放行;
-
华为云安全组是否开放 80 端口;
-
访问的公网 IP 是否正确;
-
域名解析是否生效。
六、使用域名和 HTTPS 提升安全性
直接通过公网 IP 访问服务适合测试,但正式项目通常应该绑定域名。
基本流程如下:
-
注册域名;
-
完成域名实名认证等必要流程;
-
将域名解析到云服务器公网 IP;
-
配置 Nginx 虚拟主机;
-
申请并部署 SSL/TLS 证书;
-
将 HTTP 请求重定向到 HTTPS。
HTTPS 不仅可以加密传输内容,还能降低用户被中间人窃听或篡改通信内容的风险。
在正式环境中,建议避免长期使用自签名证书,因为浏览器通常会提示证书不受信任。
七、部署后端应用时的常见做法
如果部署的是 Java、Node.js、Python 等后端程序,建议不要直接将应用进程暴露在公网。
更常见的架构是:
用户浏览器
↓
Nginx
↓
后端应用
↓
数据库或缓存服务
例如,后端应用监听本机的 8080 端口:
127.0.0.1:8080
Nginx 负责接收外部请求,再将请求转发给后端应用。
这样做的好处包括:
-
后端端口不直接暴露;
-
可以统一处理 HTTPS;
-
可以配置访问日志;
-
可以实现反向代理;
-
便于后续部署多个应用;
-
可以增加限流和访问控制。
八、日志和监控非常重要
服务器出现问题时,日志往往比猜测更有价值。
1. 查看系统服务日志
sudo journalctl -u nginx
查看最近的日志:
sudo journalctl -u nginx -n 100
实时查看日志:
sudo journalctl -u nginx -f
2. 关注关键指标
日常运维中应重点关注:
-
CPU 使用率;
-
内存使用率;
-
磁盘空间;
-
磁盘 I/O;
-
网络流量;
-
应用响应时间;
-
错误日志数量。
当磁盘空间达到较高占用率时,可能导致日志无法写入、数据库异常甚至系统服务停止。
因此,日志系统需要设置轮转和清理策略,不能无限增长。
九、备份比恢复更重要
云服务器并不意味着数据天然不会丢失。
服务器可能因为以下原因出现数据问题:
-
误删除文件;
-
应用程序 bug;
-
数据库误操作;
-
系统升级失败;
-
恶意攻击;
-
磁盘或实例故障。
建议至少建立以下备份策略:
1. 系统盘或云服务器备份
用于在系统损坏时恢复整个服务器环境。
2. 数据库逻辑备份
例如定期导出数据库:
mysqldump -u root -p database_name > backup.sql
3. 异地或独立存储备份
不要只把备份文件保存在同一台服务器上。否则当服务器整体故障时,备份也可能无法使用。
备份策略的关键不是“是否备份过”,而是“能否真正恢复”。
因此,定期进行恢复演练非常重要。
十、常见故障排查思路
问题一:服务器无法通过 SSH 登录
可以依次检查:
-
实例是否正常运行;
-
公网 IP 是否发生变化;
-
安全组是否放行 SSH 端口;
-
本地网络是否正常;
-
SSH 服务是否启动;
-
密钥或密码是否正确;
-
服务器防火墙是否拦截连接。
问题二:网站无法访问
可以从本地到云端逐层排查:
浏览器
→ 域名解析
→ 公网 IP
→ 安全组
→ 服务器防火墙
→ Nginx
→ 后端应用
不要一开始就修改大量配置,而应该先确定请求在哪一层被阻断。
问题三:服务器运行越来越慢
常见原因包括:
-
内存不足;
-
CPU 长时间满载;
-
磁盘空间不足;
-
日志文件过大;
-
数据库查询效率低;
-
进程内存泄漏;
-
网络连接数过多。
可以使用 top、free -h、df -h、iostat 等工具进行分析,再针对具体瓶颈处理。
十一、个人项目使用华为云的建议
对于个人开发者或学习项目,可以采用以下方式降低成本和复杂度:
-
先使用较低配置的 ECS 进行验证;
-
只开放必要端口;
-
使用 Nginx 统一入口;
-
应用和数据库尽量使用内网通信;
-
使用 Git 管理代码;
-
将配置文件与代码分离;
-
不把密码、密钥直接提交到 Git 仓库;
-
为重要数据设置定期备份;
-
使用监控服务观察资源变化;
-
项目稳定后再考虑扩容和高可用架构。
十二、总结
华为云不仅可以提供云服务器,还可以帮助开发者构建完整的应用基础设施。
在实际使用过程中,服务器部署本身并不困难,真正需要重视的是:
-
网络和安全组配置;
-
登录权限管理;
-
应用服务的进程管理;
-
日志监控;
-
数据备份;
-
故障定位;
-
资源成本控制。
一个稳定的云上应用,不仅要“能够运行”,还要具备可维护、可监控、可恢复和可扩展的能力。
对于初学者来说,建议先从一台 ECS 开始,完成 Linux 环境搭建、Nginx 网站部署、后端服务运行和基础安全配置。在不断实践的过程中,再逐步学习负载均衡、云数据库、对象存储、容器服务以及自动化运维等更高级的云计算技术。
- 点赞
- 收藏
- 关注作者
评论(0)