nginx目录结构和配置文件
nginx软件功能模块说明
Nginx软件之所以强大,是因为它具有众多的功能模块,下面列出了企业常用的重要模块。
(1) Nginx核心功能模块(Core functionality)
nginx核心功能模块负责Nginx的全局应用,主要对应主配置文件的Main区块和Events区块区域,这里有很多Nginx必须的全局参数配置。有关核心功能模块的详细信息,请看官网,地址为http://nginx.org/en/docs/ngx_core_module.html。
(2)标准的http功能模块集合
这些标准的http功能模块,虽然不是nginx软件所必需的,但都是很常用的,因此绝大部分默认情况都会自动安装到 Nginx软件中(见下表),不建议擅自改动,保留软件的默认配置就好,除非你明确知道你在做什么,有什么额外影响。
在生产环境中,配置、调整及优化 Nginx软件,主要就是根据这些模块的功能修改相应的参数来实现的。通过官方地址http://nginx.org/en/docs/可以查看到上述及更多模块的详细使用帮助。
常用的Nginx http功能模块汇总
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Nginx http 功能模块 模块说明 ngx_http_core_module 包括一些核心的http参数配置,对应nginx的配置为HTTP区块部分 ngx_http_access_module 访问控制模块,用来控制网站用户对Nginx的访问 ngx_http_gzip_module 压缩模块,对Nginx返回的数据压缩,属于性能优化模块 ngx_http_fastcgi_module FastCGI模块,和动态应用相关的模块,例如PHP ngx_http_proxy_module proxy代理模块 ngx_http_upstream_module 负载均衡模块,可以实现网站的负载均衡功能及节点的健康检查 ngx_http_rewrite_module URL地址重写模块 ngx_http_limit_conn_module 限制用户并发连接数及请求数模块 ngx_http_limit_req_module 根据定义的key限制Nginx请求过程的速率 ngx_http_log_module 访问日志模块,以指定的格式记录Nginx客户访问日志等信息 ngx_http_auth_basic_module Web认证模块,设置web用户通过账号、密码访问Nginx ngx_http_ssl_module ssl模块,用于加密的http连接,如htts ngx_http_stub_status_module 记录Nginx基本访问状态信息等的模块 |
nginx的目录结构说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | [root@nginx ~]# tree /application/nginx/ #如果tree命令找不到需要yum install -y tree安装; /application/nginx/ ├── client_body_temp ├── conf #这是nginx所有配置文件的目录; │ ├── fastcgi.conf #fastcgi相关参数的配置文件; │ ├── fastcgi.conf. default #fastcgi.conf的备份文件; │ ├── fastcgi_params #fastcgi的参数文件; │ ├── fastcgi_params. default │ ├── koi-utf │ ├── koi-win │ ├── mime.types #mime媒体类型; │ ├── mime.types. default │ ├── nginx.conf #nginx默认的主配置文件; │ ├── nginx.conf. default │ ├── scgi_params #scgi相关参数文件; │ ├── scgi_params. default │ ├── uwsgi_params #uwsgi相关参数文件; │ ├── uwsgi_params. default │ └── win-utf ├── fastcgi_temp #fastcgi临时数据目录; ├── html #编译安装时nginx的默认站点目; │ ├── 50x.html #错误页面优雅替代显示文件,例如出现502错误时会调用此页面; │ └── index.html #默认的首页文件; ├── logs #nginx默认的日志路径,报错错误日志及访问日志; │ ├── access.log #nginx默认的访问日志文件; │ ├── error.log #nginx的错误日志文件; │ └── nginx.pid #nginx的pid文件,nginx进程启动后,会把所有进程的ID号写入此文件; ├── proxy_temp #临时目录; ├── sbin #nginx的命令目录,例如nginx的启动命令nginx; │ └── nginx #nginx的启动命令nginx; ├── scgi_temp #临时目录; └── uwsgi_temp #临时目录; 9 directories, 21 files |
nginx的主配置文件 nginx.conf
nginx的主配置文件位于nginx安装目录下的conf目录中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [root@nginx nginx]# egrep -v "#|^$" conf/nginx.conf #去掉包含#号和空行的内容; worker_processes 1; #worker进程的数量; events { #事件区块开始; worker_connections 1024; #每个worker进程支持的最大链接数; } #事件区块结束; http { #http区块开始; include mime.types; #nginx支持的媒体类型文件; default_type application/octet-stream; #默认的媒体类型; sendfile on ; #开启高效传输模式; keepalive_timeout 65; #连接超时; server { #第一个Server区块开始,表示一个独立的虚拟主机站点; listen 80; #提供服务的端口默认80; server_name localhost; #提供服务的域名主机名; location / { #第一个location区块开始; root html; #站点的根目录,相当于nginx的安装目录; index index.html index.htm; #默认的首页文件,多个使用空格分开; } #第一个location区块结束; error_page 500 502 503 504 /50x.html; #出现对应的http状态码时,使用50x.html会回应客户; location = /50x.html { #location区块开始,访问50x.html; root html; #指定对应的站点目录为html; } } } #http区块结束; |
******************************我也想难过的时候到海边走走,可是我的城市没有海。******************************
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY