华为云 ECS 创建并部署 Nginx 完整教程
【摘要】 一、准备工作已注册华为云账号并完成实名认证账号中有可用余额,或已领取试用资源本地有一台可以联网的电脑,用于远程连接准备好 SSH 工具:Windows 可用 Xshell 或 PuTTY,macOS 与 Linux 使用自带终端,也可以直接使用华为云控制台的远程登录功能 二、创建弹性云服务器 ECS 1. 进入购买页面登录华为云控制台,在搜索框输入“弹性云服务器”,进入 ECS 服务页面,...
一、准备工作
- 已注册华为云账号并完成实名认证
- 账号中有可用余额,或已领取试用资源
- 本地有一台可以联网的电脑,用于远程连接
- 准备好 SSH 工具:Windows 可用 Xshell 或 PuTTY,macOS 与 Linux 使用自带终端,也可以直接使用华为云控制台的远程登录功能
二、创建弹性云服务器 ECS
1. 进入购买页面
登录华为云控制台,在搜索框输入“弹性云服务器”,进入 ECS 服务页面,点击“购买”。
2. 基础配置
| 配置项 | 推荐选择 |
|---|---|
| 计费模式 | 按需计费,适合测试;长期使用选包年包月 |
| 区域与可用区 | 选距离用户最近的区域,可用区默认即可 |
| 规格 | 测试选 1 核 2G 或 2 核 4G 通用型,正式环境按业务压力选择 |
| 镜像 | 公共镜像:CentOS 7.9、Ubuntu 22.04 LTS 或 openEuler 任选其一 |
3. 网络配置
- VPC:使用默认 VPC,或新建一个
- 子网:使用默认子网
- 公网 IP:勾选“现在购买”,按流量计费更省钱,带宽 1~5 Mbps 足够学习使用
- 安全组:选择“新建安全组”,务必放通以下端口:
- 22 端口:SSH 远程连接
- 80 端口:HTTP 网站访问
- 443 端口:HTTPS(后续配置证书时使用)
4. 登录凭证
- 选择“密码”方式并设置 8 位以上复杂密码,或选择“密钥对”
- 如果是密码方式,请务必牢记密码,后续无法再查看
- 只有使用密钥对方式时才需要下载并妥善保存
.pem私钥文件
5. 确认并购买
确认配置、费用后提交订单,等待 1~2 分钟,实例状态变为“运行中”即可。
三、连接服务器
方式一:控制台远程登录
在 ECS 列表中点击实例名称,进入详情页,点击右上角“远程登录”,按提示输入账号密码即可进入命令行。默认账号为:
- CentOS、openEuler:
root - Ubuntu:
root或ubuntu
方式二:SSH 连接(推荐)
在本机终端执行:
ssh root@服务器公网IP
首次连接会提示确认指纹,输入 yes,然后输入密码即可。
如果使用密钥对:
ssh -i 私钥文件路径 root@服务器公网IP
提示:连接失败先检查安全组是否放通 22 端口、公网 IP 是否正确。
四、安装 Nginx
1. 更新系统软件源
CentOS 或 openEuler:
yum update -y
Ubuntu:
apt update -y
2. 安装 Nginx
CentOS 或 openEuler:
yum install -y nginx
Ubuntu:
apt install -y nginx
安装完成后检查版本:
nginx -v
3. 启动并设置开机自启
systemctl start nginx
systemctl enable nginx
systemctl status nginx
看到 active (running) 说明启动成功。
五、配置防火墙与安全组
1. 放通系统防火墙
CentOS 或 openEuler 使用 firewalld:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Ubuntu 使用 ufw:
ufw allow 'Nginx Full'
ufw reload
2. 检查云平台安全组
回到华为云控制台,进入 ECS 详情页 →“安全组”→ 入方向规则,确认存在允许 80 和 443 端口的规则(源地址 0.0.0.0/0)。如果没有,手动添加:
- 协议端口:TCP 80
- 源地址:0.0.0.0/0
六、验证访问
在浏览器地址栏输入:
http://服务器公网IP
如果看到 Nginx 默认欢迎页面,说明部署成功。
七、部署自己的网站内容
1. 找到站点目录
- CentOS 或 openEuler:
/usr/share/nginx/html - Ubuntu:
/var/www/html
2. 替换默认页面
推荐用 SFTP 或 scp 上传文件。示例:
scp -r 本地项目目录/* root@服务器公网IP:/usr/share/nginx/html/
也可以直接在服务器上编辑:
vi /usr/share/nginx/html/index.html
写入简单的测试页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>我的第一个网站</title>
</head>
<body>
<h1>Hello Huawei Cloud ECS + Nginx!</h1>
</body>
</html>
3. 常用配置文件位置
- 主配置:
/etc/nginx/nginx.conf - 站点配置:CentOS 或 openEuler 在
/etc/nginx/conf.d/,Ubuntu 在/etc/nginx/sites-available/
修改配置后先检查语法,再重载:
nginx -t
systemctl reload nginx
八、配置域名(可选)
- 在域名服务商处添加 A 记录,将域名指向服务器公网 IP
- 等待 DNS 生效,通常几分钟到几小时
- 修改 Nginx 配置中的
server_name:
server {
listen 80;
server_name your-domain.com www.your-domain.com;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
- 执行
nginx -t && systemctl reload nginx
九、常见问题排查
| 问题 | 排查方法 |
|---|---|
| 页面打不开 | 检查 nginx 是否运行、安全组是否放通 80、系统防火墙是否放行 |
| 403 Forbidden | 检查站点目录权限,确保 nginx 用户可读 |
| 404 Not Found | 检查 root 路径与 index 文件是否正确 |
| 修改配置不生效 | 执行 nginx -t 确认语法,再 systemctl reload nginx |
| SSH 连接超时 | 安全组未放通 22 端口,或公网 IP 变更 |
| 启动失败 | 查看日志 /var/log/nginx/error.log,用 journalctl -u nginx 查看系统日志 |
十、日常运维常用命令
systemctl start nginx # 启动
systemctl stop nginx # 停止
systemctl restart nginx # 重启
systemctl reload nginx # 平滑重载配置
systemctl status nginx # 查看状态
nginx -t # 检查配置语法
tail -f /var/log/nginx/access.log # 实时查看访问日志
tail -f /var/log/nginx/error.log # 实时查看错误日志
建议定期备份网站目录和 Nginx 配置文件,并为服务器设置监控告警,避免磁盘写满或服务异常导致网站不可用。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)