Nginx 入门:从安装到反向代理

举报
yd_228790497 发表于 2026/11/11 06:21:55 2026/11/11
【摘要】 一、Nginx 是什么Nginx 是一款高性能的 Web 服务器和反向代理服务器,由俄罗斯工程师伊戈尔·赛索耶夫开发。它以占用内存少、并发能力强著称,很多大流量网站都用它来做静态资源服务、反向代理和负载均衡。对于刚接触服务器运维的开发者来说,Nginx 是最值得先学会的工具之一。二、安装与启动在常见的 Linux 发行版上安装非常简单。以 Ubuntu 为例,先更新软件源,再安装:sudo ...

一、Nginx 是什么
Nginx 是一款高性能的 Web 服务器和反向代理服务器,由俄罗斯工程师伊戈尔·赛索耶夫开发。它以占用内存少、并发能力强著称,很多大流量网站都用它来做静态资源服务、反向代理和负载均衡。对于刚接触服务器运维的开发者来说,Nginx 是最值得先学会的工具之一。

二、安装与启动
在常见的 Linux 发行版上安装非常简单。以 Ubuntu 为例,先更新软件源,再安装:sudo apt update,sudo apt install nginx。安装完成后用 systemctl 管理服务:sudo systemctl start nginx,sudo systemctl enable nginx,sudo systemctl status nginx。启动成功后在浏览器访问服务器地址,看到欢迎页面就说明服务已经跑起来了。

三、理解 Nginx 的工作方式
Nginx 采用主进程加工作进程的模型。主进程负责读取配置和管理工作进程,真正处理请求的是工作进程。每个工作进程内部用事件驱动的方式同时处理成千上万个连接,而不是一个连接一个线程。这种设计让 Nginx 在高并发场景下依然保持很低的内存占用。

四、配置文件结构
Nginx 的主配置文件通常在 /etc/nginx/nginx.conf。它的结构是分层的:全局块设置运行用户、工作进程数等;events 块设置每个工作进程能同时处理的最大连接数;http 块是 Web 服务相关的全局设置;server 块定义一个虚拟主机,监听某个端口和域名;location 块根据请求路径匹配不同的处理规则。理解这几层关系,读配置就不会晕。

五、托管一个静态网站
把写好的网页文件放到 /var/www/html,然后在 server 块里指定根目录:监听 80 端口,根目录指向 /var/www/html,默认首页为 index.html。保存后执行 nginx -t 检查配置语法,通过后再执行 nginx -s reload 平滑重载,不用重启服务就能生效。

六、反向代理:把请求转发给后端
实际项目中后端应用往往跑在别的端口上,比如一个跑在 8080 端口的服务。让 Nginx 对外统一监听 80 端口,再把请求转发过去,同时透传 Host 和真实客户端地址。这样做的好处是后端端口不用对外暴露,Nginx 还能顺手做缓存、限流和日志。

七、负载均衡:把流量分给多台后端
后端不止一台时,可以在 http 块里定义一组上游服务器,把多个后端地址放进去,然后在转发规则里写上游组的名字。默认按轮询方式依次分配请求。还可以在后端地址后面加权重调配比例,或者按最少连接数分配,或者让同一客户端固定落到同一台后端。

八、常用命令与排错
nginx -t 检查配置语法;nginx -s reload 平滑重载配置;nginx -s stop 停止服务。出错时先看错误日志 /var/log/nginx/error.log,大多数问题都能在日志里找到原因。常见的坑有端口被占用、配置文件少了分号、反向代理目标地址写错。

九、小结
Nginx 的学习路径很清晰:先装起来跑通静态页面,再理解配置分层,然后用反向代理接管后端,最后按需加上负载均衡。掌握这几步,日常的小项目部署和简单的生产环境就基本够用了。下一步可以继续研究 HTTPS 配置和缓存策略。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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