2021-03-27 Nginx 规则 及动静分离

nginx处理php流程

    1客户端和nginx交互

    2nginx判断路由url

    3转发请求给php-fpm

    4php-fpm 和解析器交互并解析代码,最后返回结果

nginx的配置优化

worker_process  子进程的数量 auto 自动检测 根据CPU的内核数量配置

worker_rlimit_nofile    nginx打开数量的配置Linux 默认为1024 一般配置204800

Use epoll  修改nginx的运行模式 主要有select  poll  epoll   一般都使用epoll

Worker_connections 

location命令

匹配规则-正在表达式

1.等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项。

2.^~类型表达式。一旦匹配成功,则不再查找其他匹配项。

3.正则表达式类型(~

~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。

4.常规字符串匹配类型。按前缀匹配。

事例:

server{

    listen 80; //监听端口

    server_name:www.ceshi.com  //监听的域名

    root  /www/bolg  //访问的文件目录

    index index.html index.htm  //默认查询的文件

    location ~ \.php${   //区分大小写 查询以.php的url 路径

            return 403;//禁止403访问

    }

    location = /index.html {   //如果url 是index.html 则跳转到百度首页

        rewrite  ^/ http:www.baidu.com last;

    }

    error_page 404 =@fallback; //如果url地址不存在 则执行跳转

    location @fallback {  //

          rewrite  ^/ http:www.baidu.com last;

    }

 }

rewrite规则模块解析


事例url:https://www.jianshu.com/writer#/notebooks?name=jack&age=10

$args   : name=jack&age=10

$document_uri  :writer#/notebooks

$host  :www.jianshu.com

$http_cookie : cookie 信息

$scheme  : tcp  utp https http

$request_method : post get

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

参数:regex :用于匹配URI的正则表达式。

replacement:匹配成功后用于替换URI中截取内容的字符串

flag:用来设置rewrite对URI的处理行为

flag :状态   last:重新发起一个请求,给其他location进行匹配

                break:跳过当前重写,往下进行匹配

                redirect:重定向 临时重定向 302

                permanent:永久重定向 301

if指令

If 指令来支持判断,并根据条件判断结果选择不同的nginx配置,该指令可以在server块或location块中配置该指令。

Condition参数:

1. “=” 与 “!=” 比较变量和字符串是否相等

2. 正则匹配,变量与正则之间使用”~”,”~*”,”!~”或”!~*”连接,“~”表示匹配大小写,”~*”不匹配大小写

3.“-f” 与 “!-f”判断文件是否存在

4.“-d” 与 “!-d”判断目录是否存在

5.“-e” 与 “!-e”判断目录或者文件是否存在

6.“-x” 与 “!-x”判断请求的文件是否可执行使用

break 指令

break指令用来中断当前相同作用域中的其他nginx配置,与该指令处于同一作用域的nginx配置中,位于它前面的指令配置生效,位于后面的指令配置无效。

  nginx服务器在根据配置处理请求的过程中遇到该指令时,回到上一层作用域继续向下读取配置。使用范围:server块,location块,if块

return 指令

return指令用于完成对请求的处理,直接向客户端返回响应的状态代码。处于该指令后的所有nginx配置都是无效的。该指令可以在server块,location块以及if块中使用。

参数:

Code :为返回给客户端的HTTP状态代码。范围:0-999

Text:为返回给客户端的响应体内容,支持变量的使用

URL:为返回给客户端的URL地址


动静分离

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容

  • 目录 1 Nginx概述 2 使用 3 反向代理 4 负载均衡 5 重写 6 Nginx的其他用法 ...
    小小千千阅读 511评论 0 0
  • I/O模型Nginx介绍Nginx的安装和目录结构Nginx的配置Nginx的编译安装 一、I/O模型 (一)I/...
    哈喽别样阅读 884评论 0 4
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 80,860评论 21 356
  • Nginx简介 解决基于进程模型产生的C10K问题,请求时即使无状态连接如web服务都无法达到并发响应量级一万的现...
    魏镇坪阅读 1,980评论 0 9
  • Nginx进阶   Nginx主要作用:隐藏真实服务器信息内容,用户在请求的永远是nginx监听的端口,不会访问到...
    hang1720阅读 463评论 0 0