Nginx 入门实操:十分钟托管一个静态网站

举报
Lizi AI 发表于 2026/10/28 13:22:41 2026/10/28
【摘要】 十分钟的目标很具体:在一台 Linux 服务器上装好 Nginx,准备一个站点目录,写一份最简 server 配置,放进一个静态页面,最后能用浏览器看到它。整个过程不需要写后端代码,适合第一次接触 Web 服务的读者跟着做一遍。 一、Nginx 是什么Nginx 是一款高性能的 Web 服务器和反向代理服务器。日常最常见的用法有两种:一是直接对外提供静态文件,例如网页、图片和样式表;二是在应...

十分钟的目标很具体:在一台 Linux 服务器上装好 Nginx,准备一个站点目录,写一份最简 server 配置,放进一个静态页面,最后能用浏览器看到它。整个过程不需要写后端代码,适合第一次接触 Web 服务的读者跟着做一遍。

一、Nginx 是什么

Nginx 是一款高性能的 Web 服务器和反向代理服务器。日常最常见的用法有两种:一是直接对外提供静态文件,例如网页、图片和样式表;二是在应用前面做反向代理,把请求转发给后端的业务服务。对初学者来说,先把第一种用法练熟,就理解了它最核心的工作方式:收到请求,找到对应的文件,返回给浏览器。

二、安装 Nginx

在常见的 Linux 发行版上,安装只需要一条命令。Debian 或 Ubuntu 系统可以使用 apt,CentOS 或 RHEL 系统可以使用 dnf 或 yum。

sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx

安装完成后,用状态命令确认服务已经在运行。如果输出中看到 active 状态,说明服务已经启动。

sudo systemctl status nginx

三、站点目录与 server 配置

先准备站点目录,并放一个简单的首页文件。目录结构越简单,后续排查问题也越容易。

sudo mkdir -p /var/www/mysite
sudo chown -R $USER:$USER /var/www/mysite

接下来写一份最简的 server 配置。server_name 先写本机测试用的名字,root 指向刚才准备的目录,index 指定默认首页。

server {
    listen 80;
    server_name mysite.local;
    root /var/www/mysite;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

把配置保存到 Nginx 的站点配置目录后,需要先检查语法,再重新加载服务。语法检查这一步不要省略,它能在生效前发现括号缺失、指令写错等问题。

sudo nginx -t
sudo systemctl reload nginx

四、静态文件部署

静态部署的核心只有一件事:把文件放到 root 指向的目录里。写一个简单的 index.html,用来验证页面、样式和图片是否都能正常加载。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <title>我的第一个 Nginx 站点</title>
</head>
<body>
  <h1>你好,Nginx!</h1>
  <p>如果你能看到这一行,说明静态站点已经跑起来了。</p>
</body>
</html>

部署时还要注意文件权限。Nginx 的工作进程需要能够读取站点文件,如果权限过严,浏览器就会看到 403 错误。先保证目录和文件对服务进程可读,再考虑更精细的权限控制。

五、重载与验证

每次改完配置,都要先测试再重载。重载和重启不同,重载是在不中断已有连接的情况下让新配置生效,日常改配置优先使用重载。

sudo nginx -t
sudo systemctl reload nginx
curl -I 127.0.0.1

本地验证时,可以直接访问 127.0.0.1。如果返回 200 状态码,并且首页内容正确,说明站点已经正常工作。如果是给局域网或公网访问,还要确认防火墙和安全组是否放行了 80 端口。

六、常见错误:403 与端口占用

403 常见原因有三个:站点目录或文件权限不足、root 路径写错、index 指定的文件不存在。排查顺序建议先看错误日志,再核对 root 路径和文件是否存在,最后检查权限。

端口占用则通常表现为 Nginx 启动失败,提示 80 端口已被占用。这时先找出占用端口的进程,确认它是不是旧的 Nginx 或其他 Web 服务,再决定是停掉旧进程,还是把新站点换到其他端口。不要盲目杀掉不认识的进程,先确认进程归属。

sudo ss -tlnp | grep ':80'
sudo tail -n 50 /var/log/nginx/error.log

小结

回顾这十分钟的流程:安装 Nginx,准备站点目录,写好 server 配置,部署首页文件,语法检查后重载,最后用本地访问验证。把这条最小闭环跑通之后,再去学习 HTTPS、反向代理和缓存配置,都会更容易上手。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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