Nginx极速上手系列:静态网站托管

0 阅读1分钟

关于本文

本文介绍用 Nginx 托管一个静态网站的全过程:什么时候需要、最小配置怎么写、403 错误怎么排查。所有步骤都可以直接动手并看到结果。并将着重讲解什么场景下使用、出问题先查什么这两个新手容易卡住的环节。

  • 适用读者:第一次接触 Nginx 的初学者

  • 示例环境:Alibaba Cloud Linux 系统,使用 Wisdom SSH 远程连接操作

准备工作

1. 安装 Nginx

借助 Wisdom SSH 的AI运维助手,我们直接像对话一样告诉它:安装nginx。

运维助手首先是检查服务器环境以为安装做准备:

探索清楚服务器环境后运维助手给出正确的安装命令。这里值得一提,AI助手给出的命令通常有3种权限区别:只读命令、交互式命令、黑名单命令;而只读命令我们可以在软件中设置 自动执行 以减少繁琐的确认操作:

2. 确认安装成功

运维助手执行任务通常包含确认>执行>验证的完整闭环,你也可以手动要求它进行验证:

3. 环境与前提(先看这里,能省很多时间)

  • 安装操作需要 root 权限,非root用户可以在 Wisdom SSH 里面的会话列表中,找到服务器然后打开菜单,为运维助手配置 sudo 密码。

  • 云服务器必须在安全组中放行 80 端口。浏览器访问”超时”而不是返回错误页面时,先检查安全组和本机防火墙(ufw status),这通常是外部因素,不是配置问题。如果需要,也可以直接让AI运维助手帮你检查。

一、什么时候需要 Web 服务

你有一个静态网站:前端构建产物、个人页面、下载站,或者后端 API 的静态资源。特点是不需要程序处理,文件是什么样就返回什么样。

如果只是几个测试页面,用 Nginx 托管是合适的;如果网站需要登录、读写数据库,那属于应用服务,需要配合后端程序处理,不在本文范围内,后面本系列会专门出一篇讲解。

二、部署你的第一个网站

1. 创建网站目录和首页

我们接着让运维助手写一个用于本教程测试的首页:

2. 编写 Nginx 配置

这里运维助手使用了nginx默认的server部署,但是本教程为了讲解,我们要选择 2 部署为独立站点(这样可在一台服务器中任意部署多个站点,只要你的服务器配置足够):

和运维助手一系列交流后,开始迁移部署子站点:

生成配置:

生成配置

配置说明:

配置行

作用

为什么这样写

listen 8080;

监听 8080 端口

通过8080端口访问子站点,与主站点80端口区分开

server_name _;

匹配任意域名

没有域名时也能访问;有了域名后改成你的域名

root /var/www/yuntian;

网站文件目录

路径写错会返回 404,而且不报语法错误,容易漏看

index index.html;

默认首页文件名

目录下没有这个文件,访问目录会返回 403

配置文件放在 /etc/nginx/conf.d/ 目录(文件名以 .conf 结尾),Nginx 启动时自动读取,无需修改主配置文件。

3. 测试配置并生效

检查配置语法并验证:

4. 验证结果

注意,如果你是云服务器,可能需要添加安全组防火墙 8080 端口,添加入方向规则,以阿里云为例:

浏览器访问 http://你的服务器IP:

测试静态首页效果(注意,此网页信息为AI虚构!)

三、页面返回 403:别猜,先看日志

403 表示 Nginx 拒绝访问。它的原因只有两种(权限不足 / 缺少 index 文件),但靠猜要试半天。直接看错误日志,一行就告诉你:

tail -n 20 /var/log/nginx/error.log

日志中的关键行

原因

解决

Permission denied

文件或目录权限不足

目录 755、文件 644:sudo chmod 755 /var/www/myweb、sudo chmod 644 /var/www/myweb/index.html

directory index is forbidden

目录下没有 index 文件

检查 index 指令指定的文件是否存在

养成先看日志的习惯——排错的第一步永远是 error.log,不是猜。

小结

本篇的完整动作:

  1. 安装 Nginx 并确认 active (running)

  2. 建目录、写 index.html、配 root + index

  3. nginx -t → systemctl reload nginx → 浏览器验证

  4. 出 403 先看 /var/log/nginx/error.log