当前位置: 首页 > news >正文

nginx.conf配置文件以及指令详解

一、配置文件 

#运行用户
user nobody;
#启动进程,通常设置成和cpu的数量相等
worker_processes 1;
#全局错误日志及PID文件
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid       logs/Nginx.pid;
#工作模式及连接数上限
events {#epoll是多路复用IO(I/O Multiplexing)中的一
种方式,#仅用于linux2.6以上内核,可以大大提高Nginx的性
能use   epoll; #单个worker进程的最大并发链接数    worker_connections 1024;# 并发总数是 worker_processes 和 
worker_connections 的乘积# 即 max_clients = worker_processes * 
worker_connections# 在设置了反向代理的情况下,max_clients = 
worker_processes * worker_connections / 4 
为什么# 为什么上面反向代理要除以4,应该说是一个经验值# 根据以上条件,正常情况下的Nginx Server可以
应付的最大连接数为:4 * 8000 = 32000# worker_connections 值的设置跟物理内存大小
有关# 因为并发受IO约束,max_clients的值须小于系统
可以打开的最大文件数# 而系统可以打开的最大文件数和内存大小成正比,
一般1GB内存的机器上可以打开的文件数大约是10万左右
#error_log logs/error.log info;
#pid       logs/Nginx.pid;
#工作模式及连接数上限
events {#epoll是多路复用IO(I/O Multiplexing)中的一
种方式,#仅用于linux2.6以上内核,可以大大提高Nginx的性
能use   epoll; #单个worker进程的最大并发链接数    worker_connections 1024;# 并发总数是 worker_processes 和 
worker_connections 的乘积# 即 max_clients = worker_processes * 
worker_connections# 在设置了反向代理的情况下,max_clients = 
worker_processes * worker_connections / 4 
为什么# 为什么上面反向代理要除以4,应该说是一个经验值# 根据以上条件,正常情况下的Nginx Server可以
应付的最大连接数为:4 * 8000 = 32000# worker_connections 值的设置跟物理内存大小
有关# 因为并发受IO约束,max_clients的值须小于系统
可以打开的最大文件数# 而系统可以打开的最大文件数和内存大小成正比,
一般1GB内存的机器上可以打开的文件数大约是10万左右
#error_log logs/error.log info;
#pid       logs/Nginx.pid;
#工作模式及连接数上限
events {#epoll是多路复用IO(I/O Multiplexing)中的一
种方式,#仅用于linux2.6以上内核,可以大大提高Nginx的性
能use   epoll; #单个worker进程的最大并发链接数    worker_connections 1024;# 并发总数是 worker_processes 和 
worker_connections 的乘积# 即 max_clients = worker_processes * 
worker_connections# 在设置了反向代理的情况下,max_clients = 
worker_processes * worker_connections / 4 
为什么# 为什么上面反向代理要除以4,应该说是一个经验值# 根据以上条件,正常情况下的Nginx Server可以
应付的最大连接数为:4 * 8000 = 32000# worker_connections 值的设置跟物理内存大小
有关# 因为并发受IO约束,max_clients的值须小于系统
可以打开的最大文件数# 而系统可以打开的最大文件数和内存大小成正比,
一般1GB内存的机器上可以打开的文件数大约是10万左右
#定义服务器的默认网站根目录位置(编译的时
候--prefix是整个Nginx的根目录,这里的html文件夹是
相对--prefix的路径)root html;#设定本虚拟主机的访问日志access_log logs/Nginx.access.log 
main;#默认请求location / {#定义首页索引文件的名称index index.php index.html 
index.htm;   }# 定义错误提示页面error_page   500 502 503 504 
/50x.html;location = /50x.html {}#静态文件,Nginx自己处理location ~ 
^/(images|javascript|js|css|flash|media|sta
tic)/ {#过期30天,静态文件不怎么更新,过期可
以设大一点,#如果频繁更新,则可以设置得小一点。expires 30d;}#PHP 脚本请求全部转发到 FastCGI处理. 使
用FastCGI默认配置.location ~ .php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME 
$document_root$fastcgi_script_name;include fastcgi_params;}#禁止访问 .htxxx 文件location ~ /.ht {deny all;}}
}

二、指令详解

location指令:用来匹配请求的资源的,并且在location中设置请求的根目录(root path)

示例: 

server {server_name *.*;location /abc {……}
}

root和alias指令以及区别:alias指定的目录是准确的,root是指定目录资源的上级目录

共同点 : root和alias两者都都是用来指定URI和磁盘文件的映射关系;

区别: root会将定义路径与URI叠加;而alias只取定义路径;

return指令:1 停止处理请求,直接返回响应码或重定向到其他URL; 2 执行return指令后,location中后序指令将不会被执行;

return语法结构 :

1 return code [text]; # 如果返回2XX的,text才有意义,text会在body中;
2 return code URL; #主要用于重定向;

3 return URL; #须以http或者https开头的;

常用状态码:200 请求成功 301 永久转移到其他URL 404 请求资源不存在 500 内部服务器错误

rewrite指令:该指令通过正则表达式的使用来改变URI。可以同时存在一个或者多 个指令,按照顺序依次对URL进行匹配和处理。

rewrite常用全局变量:

rewrite语法结构

rewrite regex replacement [flag];
关键字   正则   替代内容     flag标记

常用正则表达式

rewrite最后一项flag参数

break指令:指令用于中断当前相同作用域中的其他Nginx配置。

Gzip压缩指令:Nginx开启Gzip压缩功能, 可以使网站的css、js 、xml、html 文件 在传输时进行压缩,提高访问速度, 进而优化Nginx性能!

Gzip压缩参数配置:

Nginx的Gzip压缩功能虽然好用,但是下面两类文件资源不太
建议启用此压缩功能。
1) 图片类型资源 (还有视频文件)
原因:图片如jpg、png文件本身就会有压缩,所以就算开启
gzip后,压缩前和压缩后大小没有多大区别,所以开启了反而会
白白的浪费资源。
2) 大文件资源
原因:会消耗大量的cpu资源,且不一定有明显的效果。

http://www.dtcms.com/a/294652.html

相关文章:

  • 暑期自学嵌入式——Day06(C语言阶段)
  • 红松推出国内首个银发AI播客产品,首创“边听边问”交互体验
  • 5.综合案例 案例演示
  • [硬件电路-76]:无论是波长还是时间,还是能量维度来看,频率越高,越走进微观世界,微观世界的影响越大;频率越低,越走进宏观世界,微观世界的影响越小;
  • 销采一体化客户管理系统核心要点速通
  • IDEA202403 超好用设置【持续更新】
  • SAP第二季度利润大增但云业务疲软,股价承压下跌
  • 【笔记】Handy Multi-Agent Tutorial 第三章: CAMEL框架简介及实践(实践部分)
  • HCIP笔记(第一、二章)
  • 电商项目_秒杀_压测
  • 策略模式(Strategy Pattern)+ 模板方法模式(Template Method Pattern)的组合使用
  • 水泥厂码垛环节的协议转换实践:从Modbus TCP到DeviceNet
  • opencv学习(图像读取)
  • CPU,减少晶体管翻转次数的编码
  • haproxy算法
  • LSTM学习笔记
  • unity小:webgl开发注意事项(持续更新)
  • 2025年7月Nature子刊-Adam梯度下降优化算法Adam Gradient Descent-附Matlab免费代码
  • CVE-2025-32463漏洞:sudo权限提升漏洞全解析
  • OpenLayers 快速入门(五)Controls 对象
  • 西安旅游行业从业者:凤凰新闻怎么发稿有哪些注意事项
  • 编程日常开发工具整理
  • 智能工具重塑光伏设计:精准、高效与科学的融合
  • 第二章 W55MH32 DHCP示例
  • 安卓项目--基于百度云的人脸识别考勤系统
  • 基于沁恒微电子CH32V307单片机使用
  • 前端项目下载发票pdf文件要求改文件名笔记
  • LLM指纹底层技术——模型压缩与优化
  • Windows安装git教程(图文版)
  • 批量剪辑矩阵分发系统源码搭建,支持OEM