Nginx 入门实操:十分钟托管一个静态网站
十分钟的目标很具体:在一台 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、反向代理和缓存配置,都会更容易上手。
- 点赞
- 收藏
- 关注作者
评论(0)