Ngnix如何处理http请求(2)

请求“/logo.gif”, 首先与前缀位置“/”匹配,然后与正则表达式“\.(gif | jpg | png)$”匹配,因此由后一个位置处理。使用指令“root /data/www”将请求映射到文件/data/www/logo.gif,然后将文件发送给客户端。

请求“/index.php”, 也首先与前缀位置“/”匹配,然后与正则表达式“\.(php)$”匹配。因此,它由后一个位置处理,并将请求传递到在localhost:9000上侦听的FastCGI服务器。 fastcgi_param指令将FastCGI参数SCRIPT_FILENAME设置为“ /data/www/index.php”,然后FastCGI服务器执行该文件。变量$document_root等于root指令的值,变量$fastcgi_script_name等于请求URI,即“/index.php”。

请求“/about.html”仅与前缀位置“/”匹配,因此在该位置进行处理。使用指令“root /data/www”将请求映射到文件/data/www/about.html,然后将文件发送给客户端。

处理请求“/”更为复杂。它仅与前缀位置“/”匹配,因此由该位置处理。然后,index指令根据其参数和“root /data/www”指令对索引文件的存在进行测试。如果文件/data/www/index.html不存在,文件/data/www/index.php存在,则该指令将内部重定向到“/index.php”,并且nginx再次搜索位置如果请求是由客户端发送的。如前所述,重定向的请求最终将由FastCGI服务器处理。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ba0fdc9d8b5cdda1a11d7b28e2a7c3db.html