用华为云 ECS 部署一个静态网站的最小流程(Nginx 版)
用华为云 ECS 部署一个静态网站的最小流程(Nginx 版)
背景
很多新手第一次上云,目标其实很简单:把一个做好的静态页面放到公网上,让别人能通过域名或 IP 打开。实现这个目标并不需要先把全套云产品都学一遍,一台弹性云服务器 ECS 加一个 Nginx 就够了。本文记录的就是这条最小流程:从准备工作、安装 Nginx、放页面文件,到放行端口与验证访问,每一步都只做必要的事,遇到问题也知道先查哪里。
这里说的静态网站,是指由 HTML、CSS、JavaScript 和图片等文件直接组成的页面,不依赖后端程序和数据库。如果你要部署的是需要服务端渲染或数据库的应用,这条流程只能作为起点,后续还要再接应用服务与数据库的配置。
准备工作
开始之前,先确认三样东西已经就绪:
第一,一台可以正常远程登录的 ECS 实例,操作系统建议选自己熟悉的 Linux 发行版,例如 Ubuntu 或 CentOS 系。实例创建时要记好登录方式:密码登录要保管好密码,密钥登录要保管好私钥文件,丢了都会给后续登录带来麻烦。
第二,实例的安全组规则。静态网站走的是 HTTP 的 80 端口,如果打算上 HTTPS,还要放行 443 端口。只放行自己需要的端口,不要图省事放行全部端口,这是最容易被忽视、也最值得养成习惯的一步。
第三,一份已经在本地能正常打开的静态页面。先在本地浏览器里确认页面、样式和图片路径都没有问题,再往服务器上传,这样出问题时可以先排除页面本身的错误,排查范围会小很多。
步骤一:远程登录服务器
用 SSH 登录到 ECS 实例。Windows 用户可以用系统自带的终端或自己熟悉的 SSH 工具,macOS 与 Linux 用户可以直接在终端里使用 ssh 命令。登录成功后,先确认当前用户身份和系统版本,做到心里有数:不同的发行版安装软件的命令不一样,后面步骤要对得上。
如果登录失败,先不要急着重装系统,按顺序排查:实例是不是在运行中,公网 IP 有没有填错,登录用的用户名、密码或密钥对不对,安全组有没有放行 22 端口。登录问题大多出在这几个环节,逐一排除比反复重试更省时间。
步骤二:安装 Nginx
Nginx 是一款常用的 Web 服务器软件,负责接收浏览器的访问请求,并把服务器上的静态文件返回给浏览器。安装方法取决于发行版的包管理器,例如 Debian/Ubuntu 系用 apt,CentOS/RHEL 系用 yum 或 dnf,安装的都是系统仓库里提供的 nginx 软件包。
安装完成后,启动 Nginx 服务,并设置开机自启动,这样实例重启后网站也不会因为服务没起来而打不开。可以用查看服务状态的命令确认它确实在运行中;如果服务没有起来,先看服务自身的报错信息,而不是直接重装,很多时候是端口被占用或配置文件写错导致的。
步骤三:确认默认页面能访问
Nginx 安装后一般会自带一个默认欢迎页面。先不要急着换自己的页面,第一步是验证默认页面能不能通过公网 IP 打开:在浏览器里输入实例的公网 IP,如果能看到 Nginx 的欢迎页,说明服务器、Nginx 服务和 80 端口的放行都通了。
如果这一步打不开,排查顺序同样是从外到内:先看安全组是否放行了 80 端口,再看实例内部的防火墙规则,最后看 Nginx 服务状态与监听端口。按这个顺序查,可以避免在已经通了的环节上反复折腾。
步骤四:上传自己的页面文件
验证通过后,就可以把自己的页面文件放到 Nginx 的网站根目录。常见的默认根目录在不同发行版下位置可能不同,动手前先查看本机 Nginx 的配置文件,确认 root 指向的目录,不要凭记忆往一个不确定的路径里放文件。
上传文件可以用 SCP、SFTP 等文件传输方式,也可以在服务器上直接用编辑器新建文件。小文件、页数少的时候直接新建更直观;文件多的时候用传输工具更不容易漏传。上传完成后,检查文件权限:Nginx 运行用户需要对这些文件有读取权限,权限过严会导致浏览器打开页面时报 403 错误。
一个容易踩的坑是路径大小写与引用路径。Linux 文件名区分大小写,本地 Windows 上能打开的图片,放到 Linux 上可能因为大小写不一致而加载不出来;相对路径写错同样会导致样式或图片丢失。上传后逐个页面点一遍,比只看首页更保险。
步骤五:替换默认页面并验证
把自己的首页文件命名为 index.html,放到网站根目录,覆盖或替换默认的欢迎页。之后重新加载 Nginx 配置,让新页面生效,再用浏览器访问公网 IP 验证:首页内容是不是自己的页面,样式与图片是否正常加载,站内链接能不能点通。
如果页面还是旧的欢迎页,先确认文件是不是放到了配置文件里 root 指向的那个目录,再确认浏览器缓存有没有干扰,可以换隐私窗口或强制刷新验证一次。改动配置文件后都要重新加载服务,否则新配置不会生效。
注意事项
第一,端口只开必要的。网站对外只需要 80 端口,管理用的 22 端口只对自己的管理地址放行更稳妥,全部端口放行的图省事做法不要留到生产环境。
第二,域名不是必需品,但上了域名要记得解析。只用 IP 也能访问,但对外发布时域名更易记;域名解析到实例公网 IP 后要等解析生效,刚改完解析就访问不到时,先查解析结果再怀疑服务器。
第三,备份页面源文件。服务器上的文件不是唯一的备份,本地留一份源文件,改坏了随时可以重新上传。改动 Nginx 配置前也建议先备份原配置文件,改错了可以快速还原。
第四,HTTPS 可以晚一步,但不要一直拖着。最小流程先跑通 HTTP,确认网站稳定后,再考虑用证书把 HTTPS 接上。对外长期运行的站点,HTTPS 已经是默认预期,而不是可选项。
第五,费用意识要贯穿全程。ECS 是按实际使用的配置与时长计费的,做完实验、确认不再需要的实例要及时释放,同时检查有没有绑定的弹性公网 IP、云硬盘等资源被遗漏,避免实例删了、关联资源还在计费。
小结
用 ECS 加 Nginx 部署静态网站的最小流程可以概括为五步:准备好实例、安全组与本地页面;SSH 登录服务器;安装并启动 Nginx;先用默认页面验证 80 端口通路;再上传自己的页面并验证替换结果。每一步的验证都只做一件事,通了再往下一步走,出问题时按从外到内、安全组、防火墙、服务状态、文件路径的顺序排查,定位会快很多。
这条流程刻意保持最小:没有引入构建工具、容器与自动化部署,不是为了显得简单,而是让第一次部署的人先把一条完整通路跑通。通路跑通之后,再按需叠加域名解析、HTTPS、自动化发布与监控,每加一层都 still 是在这条通路上的增量,而不是推倒重来。
- 点赞
- 收藏
- 关注作者
评论(0)