华为云 ECS 创建并部署 Nginx 完整教程

举报
yd_229065422 发表于 2026/11/02 20:54:24 2026/11/02
【摘要】 一、准备工作已注册华为云账号并完成实名认证账号中有可用余额,或已领取试用资源本地有一台可以联网的电脑,用于远程连接准备好 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

八、配置域名(可选)

  1. 在域名服务商处添加 A 记录,将域名指向服务器公网 IP
  2. 等待 DNS 生效,通常几分钟到几小时
  3. 修改 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;
    }
}
  1. 执行 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)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。