Nginx 入门:反向代理的第一课
如果你刚开始接触网站部署,一定会听到一个名字:Nginx。它读作“engine x”,是一款轻量、高性能的开源 Web 服务器和反向代理服务器。很多网站、接口服务和小程序后端,背后都站着 Nginx。今天这篇入门教程,就带你认识它,并动手配出第一个反向代理。
一、Nginx 是什么
简单理解,Nginx 就是站在用户和你的应用之间的“接待员”。用户在浏览器里输入域名,请求先到达 Nginx,再由 Nginx 转交给真正的应用处理,最后把结果返回给用户。你不需要一开始就搞懂所有配置,先记住这个流程就够了。
二、Nginx 能做什么
第一,做静态网站服务器:直接把写好的 HTML、CSS、图片文件交给 Nginx 对外提供访问,简单又快速。
第二,做反向代理:把用户的请求转发到本地或内网的应用,比如跑在 3000 端口的 Node 服务,或者 8080 端口的后端接口。
第三,做负载均衡:当一台服务器不够用时,Nginx 可以把请求轮流分给多台后端服务器,分担压力。
第四,做简单的缓存和安全防护:比如统一处理 HTTPS、限制访问频率、隐藏真实的后端地址。
三、安装 Nginx
在常见的 Linux 服务器上,安装并不复杂。以 Ubuntu 为例,先更新软件源,再安装并启动:
sudo apt update
sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
安装完成后,在浏览器输入服务器 IP,如果看到 Nginx 的欢迎页面,就说明它已经正常运行了。
四、最基本的反向代理配置示例
假设你的应用跑在本机的 3000 端口,你希望用户访问域名时直接看到这个应用,而不是在地址后面加端口号。这时可以在 Nginx 的配置文件里写一个 server 块:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
这段配置的意思是:监听 80 端口,收到 example.com 的请求后,把它转发到本地 3000 端口,并把原始的域名和用户 IP 一起传给后端。写好配置后,先用 nginx -t 检查语法,再用 nginx -s reload 让配置生效。
五、常见使用场景
新手最常遇到的场景有三个。一是前后端分离:前端静态页面由 Nginx 直接托管,接口请求以 /api 开头转发给后端。二是多服务共用一个域名:不同路径转发到不同的应用,比如 /blog 走博客服务,/shop 走商城服务。三是本地开发联调:把线上域名指向本地服务,方便在真实环境里调试接口。
六、小结
今天我们认识了 Nginx 是什么,它能做静态托管、反向代理和负载均衡,并动手写出了第一个反向代理配置。下一步你可以试试:把自己的一个小项目跑起来,再用 Nginx 把它转发到 80 端口,让别人只用域名就能访问。迈出这一步,反向代理就不再神秘了。
- 点赞
- 收藏
- 关注作者
评论(0)