华为云 Flexus 应用服务器 L 实例建站实录:从开箱到 Nginx 上线的完整流程
背景
手头有一台华为云 Flexus 应用服务器 L 实例,部署在西南-贵阳一区域,配置是 2 核 2G、系统盘 40G、带宽 2M、流量包 100GB,系统为 Debian,预付费方式。平时它只跑一个轻量服务,负载和流量都不大。这次要做的事,是在这台实例上从零搭一个静态网站并让它能从公网访问,顺便把 Flexus L 实例与 ECS 在建站流程上的异同记下来。
先说结论:Flexus L 实例建站的核心流程和 ECS 是一样的,都是装 Nginx、放页面、放行端口、验证访问。真正的区别在开箱环节:Flexus L 实例在购买时就要选好镜像类型,控制台的管理入口也和 ECS 不完全相同。把这两个点搞清楚,后面的路和 ECS 就没有差别了。
需要先说明的是,本文记录的是真实实例的配置与操作结果,价格以操作当时控制台显示为准;不同时间、不同配置的价格可能不同,动手前务必以自己控制台显示的金额为准,不要直接套用本文的数字。
步骤一:确认实例状态与镜像类型
建站之前,先在控制台确认三件事。
第一,实例在运行中。Flexus L 实例的控制台入口在 Flexus 应用服务器列表里,不在 ECS 列表里,第一次找的时候容易走错地方。确认实例状态为运行中,区域、配置与自己记忆中的一致。
第二,确认镜像类型。Flexus L 实例购买时有两种镜像可选:应用镜像和系统镜像。应用镜像是预装了建站、博客等常用应用的镜像,适合不想自己装软件的新手;系统镜像是纯净的操作系统,需要自己安装 Nginx 之类的软件。本文这台实例装的是 Debian 系统镜像,所以后面的 Nginx 需要手动安装;如果选的是应用镜像,建站软件可能已经装好,步骤会更少,但也要先确认预装的是什么、版本是多少,不要默认它就是自己要的版本。
第三,确认登录方式。密码登录要保管好密码,密钥登录要保管好私钥文件。登录失败时先排查实例是否运行中、登录信息是否填对、安全组是否放行 22 端口,不要一上来就重装系统。
步骤二:远程登录并安装 Nginx
用 SSH 登录到实例。Windows 用户可以用系统自带的终端或自己熟悉的 SSH 工具,macOS 与 Linux 用户可以直接在终端里使用 ssh 命令。登录成功后,先确认当前用户身份和系统版本,做到心里有数:不同的发行版安装软件的命令不一样,后面步骤要对得上。
本文的实例是 Debian 系统,安装 Nginx 用的是系统包管理器提供的 nginx 软件包。安装完成后,启动 Nginx 服务,并设置开机自启动,这样实例重启后网站也不会因为服务没起来而打不开。可以用查看服务状态的命令确认它确实在运行中;如果服务没有起来,先看服务自身的报错信息,而不是直接重装,很多时候是端口被占用或配置文件写错导致的。
步骤三:先用默认页面验证 80 端口通路
Nginx 安装后一般会自带一个默认欢迎页面。先不要急着换自己的页面,第一步是验证默认页面能不能通过公网访问:在浏览器里输入实例的公网 IP,如果能看到 Nginx 的欢迎页,说明服务器、Nginx 服务和 80 端口的放行都通了。
如果这一步打不开,排查顺序是从外到内:先看安全组是否放行了 80 端口,再看实例内部的防火墙规则,最后看 Nginx 服务状态与监听端口。这个顺序是我在一次真实故障里验证过的:当时服务明明在跑,但公网就是访问不通,最后查下来是安全组层面的问题,服务本身一点毛病都没有。按从外到内的顺序查,可以避免在已经通了的环节上反复折腾。
Flexus L 实例的安全组入口在实例详情页里,放行 80 端口的操作和 ECS 是一样的:新增一条入方向规则,协议 TCP,端口 80,来源按需设置。只放行自己需要的端口,不要图省事放行全部端口。
步骤四:上传自己的页面文件
验证通过后,就可以把自己的页面文件放到 Nginx 的网站根目录。常见的默认根目录在不同发行版下位置可能不同,动手前先查看本机 Nginx 的配置文件,确认 root 指向的目录,不要凭记忆往一个不确定的路径里放文件。
上传文件可以用 SCP、SFTP 等文件传输方式,也可以在服务器上直接用编辑器新建文件。小文件、页数少的时候直接新建更直观;文件多的时候用传输工具更不容易漏传。上传完成后,检查文件权限:Nginx 运行用户需要对这些文件有读取权限,权限过严会导致浏览器打开页面时报 403 错误。
一个容易踩的坑是路径大小写与引用路径。Linux 文件名区分大小写,本地 Windows 上能打开的图片,放到 Linux 上可能因为大小写不一致而加载不出来;相对路径写错同样会导致样式或图片丢失。上传后逐个页面点一遍,比只看首页更保险。
步骤五:替换默认页面并验证
把自己的首页文件命名为 index.html,放到网站根目录,覆盖或替换默认的欢迎页。之后重新加载 Nginx 配置,让新页面生效,再用浏览器访问公网 IP 验证:首页内容是不是自己的页面,样式与图片是否正常加载,站内链接能不能点通。
如果页面还是旧的欢迎页,先确认文件是不是放到了配置文件里 root 指向的那个目录,再确认浏览器缓存有没有干扰,可以换隐私窗口或强制刷新验证一次。改动配置文件后都要重新加载服务,否则新配置不会生效。
注意事项
第一,流量包要心里有数。Flexus L 实例的套餐里带 100GB 流量包,静态网站流量不大,一般够用,但如果页面里放了大体积的图片或视频,流量消耗会快很多。定期看一眼控制台里的流量使用情况,比超了再处理要从容。
第二,费用意识要贯穿全程。这台实例的续费实测价格是每月 31.14 元,包年 311.31 元,我之前用一张 200 元体验代金券续了 6 个月,自付 0 元。建站本身不产生额外费用,但要记住实例是预付费的,到期前要自己处理续费,自动续费的开关状态也要单独确认,不要默认它已经开了。
第三,域名不是必需品,但上了域名要记得解析。只用 IP 也能访问,但对外发布时域名更易记;域名解析到实例公网 IP 后要等解析生效,刚改完解析就访问不到时,先查解析结果再怀疑服务器。
第四,HTTPS 可以晚一步,但不要一直拖着。最小流程先跑通 HTTP,确认网站稳定后,再考虑用证书把 HTTPS 接上。对外长期运行的站点,HTTPS 已经是默认预期,而不是可选项。
第五,备份页面源文件。服务器上的文件不是唯一的备份,本地留一份源文件,改坏了随时可以重新上传。改动 Nginx 配置前也建议先备份原配置文件,改错了可以快速还原。
小结
在 Flexus L 实例上建一个静态网站的完整流程可以概括为五步:确认实例状态与镜像类型;SSH 登录并安装 Nginx;先用默认页面验证 80 端口通路;上传自己的页面文件;替换默认页面并验证结果。每一步的验证都只做一件事,通了再往下一步走,出问题时按从外到内、安全组、防火墙、服务状态、文件路径的顺序排查,定位会快很多。
和 ECS 相比,Flexus L 实例建站的差别主要在开箱环节:镜像类型要在购买时选好,控制台入口在 Flexus 列表里,套餐自带流量包和固定带宽,成本更好预估。一旦 Nginx 跑起来,后面的操作就和 ECS 没有区别了。这条流程刻意保持最小:没有引入构建工具、容器与自动化部署,不是为了显得简单,而是让第一次部署的人先把一条完整通路跑通。通路跑通之后,再按需叠加域名解析、HTTPS、自动化发布与监控,每加一层都是在这条通路上的增量,而不是推倒重来。
- 点赞
- 收藏
- 关注作者
评论(0)