Nginx 核心知识点总结(CentOS7)
Nginx 高性能Web服务,可实现静态网站、虚拟主机、HTTPS、LNMP动态站点、反向代理。配置层级:全局模块 → events核心模块 → http业务模块,支持include拆分配置文件。
一、基础部署
二、Nginx配置结构
1、配置加载规则
- include 引入外部配置,虚拟主机习惯放到 /etc/nginx/conf.d/*.conf;默认附加配置放在/etc/nginx/default.d/*.conf
- 优先级:子配置覆盖父配置;同层级后面定义覆盖前面。
2、四大配置块
user运行进程用户;worker_processes auto工作进程;error_log错误日志;pid进程PID文件。
worker_connections单进程最大连接数;Linux使用epoll事件模型,优化并发。
存放http公共参数,内部可以包含多个server{}虚拟主机。
- 公共配置:mime.types、访问日志access_log、sendfile高效文件传输、keepalive_timeout长连接超时。
- server{}:虚拟主机:listen监听端口;server_name域名;root网站根目录;error_page自定义错误页。
- location{}:在server内部,匹配URL访问路径,配置首页、代理、转发规则。
配置校验:nginx -t;重载配置:nginx -s reload,不中断业务。
三、虚拟主机
一台Nginx跑多个独立网站,两种实现方式:
客户端/etc/hosts解析只写IP+域名,不能携带端口号。
四、SSL/TLS HTTPS配置
五、LNMP动态网站架构(Linux+Nginx+MySQL+PHP‑FPM)
静态 vs 动态网站
| 原理 | 直接返回预先写好的html文件,不执行程序,不访问数据库 | 请求交给后端程序,实时执行代码、查询数据库,拼接生成HTML返回 |
| 交互 | 只能前端简单动画,无法提交表单存数据 | 支持登录、注册、搜索、数据增删改查 |
| 依赖 | 仅Nginx即可 | Nginx + PHP‑FPM + MariaDB数据库 |
工作流程
PHP‑FPM部署配置
- try_files $uri =404 安全防护,防止恶意路径解析漏洞;
- fastcgi_pass 127.0.0.1:9000转发php请求;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;传递php脚本绝对路径;
- include fastcgi_params;导入环境变量。
六、反向代理
Nginx作为中介,代替客户端访问后端真实服务器,客户端只能看到代理Nginx,不知道后端真实IP。
=精确匹配 > ^~优先前缀匹配 > ~ / ~*正则匹配 > 普通前缀匹配 > /根兜底匹配。
- 末尾带/:剔除location匹配的路径前缀,转发剩余部分;
- 末尾不带/:完整拼接location匹配的路径。
Host $host; X‑Real‑IP $remote_addr; X‑Forwarded‑For $proxy_add_x_forwarded_for; X‑Forwarded‑Proto $scheme;
实验验证:精确匹配 > 正则匹配 > 普通前缀匹配。
补充实操小提示
网硕互联帮助中心





评论前必须登录!
注册