nginx--fast_cgi配置详解

Ubuntu安装Nginx和fast-cgi( spawn-fcgi )以及第一个cgi程序 目录cgifast-cgi安装Nginx安装spawn-fcgifcgi开发环境配置Nginx编写fast-cgi程序配置spawn-fcgi打开Nginx试试 Nginx是一个高性能web服务器,但是由于它不能直接调用cgi程序,所以需要cgi管理进程的帮助,使用反向代理,将客户端的请求转发给固定的ip与端口,通过cgi管理进程监听端口后,就可以实现使用Nginx服务器来处理cgi程序。 现在的... 阅读详情

FastCgi





nginx--location

语法规则: location [=|~|~*|^~] /uri/ { … }
= 开头表示精确匹配
 
^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。
 
~ 开头表示区分大小写的正则匹配
 
~*   开头表示不区分大小写的正则匹配
 
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则
 
/ 通用匹配,任何请求都会匹配到。
 
多个location配置的情况下匹配顺序为(参考资料而来,还未实际验证,试试就知道了,不必拘泥,仅供参考):
 
首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。
 
例子,有如下匹配规则:
 
 
location = / {
     #规则A
}
location = /login {
     #规则B
}
location ^~ /static/ {
     #规则C
}
location ~ \.(gif|jpg|png|js|css)$ {
     #规则D
}
location ~* \.png$ {
     #规则E
}
location !~ \.xhtml$ {
     #规则F
}
location !~* \.xhtml$ {
     #规则G
}
location / {
     #规则H
}

那么产生的效果如下:

访问根目录/, 比如http://localhost/ 将匹配规则A

访问 http://localhost/login 将匹配规则B,http://localhost/register 则匹配规则H

访问 http://localhost/static/a.html 将匹配规则C

访问 http://localhost/a.gif, http://localhost/b.jpg 将匹配规则D和规则E,但是规则D顺序优先,规则E不起作用, 而 http://localhost/static/c.png 则优先匹配到 规则C

访问 http://localhost/a.PNG 则匹配规则E, 而不会匹配规则D,因为规则E不区分大小写。

访问 http://localhost/a.xhtml 不会匹配规则F和规则G,http://localhost/a.XHTML不会匹配规则G,因为不区分大小写。规则F,规则G属于排除法,符合匹配规则但是不会匹配到,所以想想看实际应用中哪里会用到。

访问 http://localhost/category/id/1111 则最终匹配到规则H,因为以上规则都不匹配,这个时候应该是nginx转发请求给后端应用服务器,比如FastCGI(php),tomcat(jsp),nginx作为方向代理服务器存在



Nginx架构及配置详解 概述 Nginx采用C进行编写,是俄罗斯程序员开发的一款轻量级的可构建Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器的软件, Nginx服务器是一个高性能的HTTP和反向代理web服务器,同时也可提供了IMAP/POP3/SMTP服务。nginx常用作跑静态和做负载反向代理,动态php交给apache处理,因后者比较稳定,jsp交给tomcat、resin或jboss。n...... 阅读详情

相关推荐

centos7下100T存储扩容(LVM)至150T

查看新增磁盘情况lsblk,fdisk -l [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.2G 0 rom vda 252:0 0 80G 0 disk ├─vda1 252:1 0 1G 0 part /boot └─vda2 252:2

tiyager的博客 1025

Nginx + fastCGI 实现动态网页部署

在介绍fastCGI之前先介绍下CGI是什么。CGI : Common Gateway Interface,公共网关接口。在物理层面上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。Nginx+CGI处理步骤用户发送HTTP请求到Web服务器Web服务器fork一个CGI子进程,将用户请求交给CGI程序CGI程序把处理结果传送给Web服务器,CGI子进程被销毁Web服务器把结果返回到用户CGI缺点。

new9232的博客 5985

Cadence HDL原理图库避坑指南:从Excel导入引脚到解决‘V- V+’报错(附FPGA实例)

本文详细介绍了Cadence HDL原理图库的高效构建与排错方法,重点讲解如何从Excel智能导入引脚数据并优化FPGA封装设计。通过数据预处理、智能导入和深度排错三个关键阶段,帮助工程师避免常见错误如‘V- V+’报错,提升设计效率和准确性。

weixin_28739079的博客 236

渗透测试常见的面试题

拿到一个待检测的站,你觉得应该先做什么? 收集信息:whois、网站源IP、旁站、C段网站、服务器系统版本、容器版本、程序版本、数据库类型、二级域名、防火墙、维护者信息另说 通过站长之家收集域名whois通过nmap 御剑查找服务器系统版本 通过google hack 进一步探测网站的信息 通过google hack 和钟馗之眼查看一些敏感信息,用awvs进行漏洞扫描 mysql的网站注入,5.0以上和5.0以下有什么区别? 5.0以下没有information_schema这个系统表,...

qq_52072846的博客 4564

2024广东省职业技能大赛云计算——集群部署GitLab

题目是这样的:在Kubernetes集群中新建命名空间gitlab-ci,将GitLab部署到该命名空间下,Deployment和Service名称均为gitlab,以NodePort方式将80端口对外暴露为30880,设置GitLab服务root用户的密码为admin@123,将项目包demo-2048.tar.gz导入到GitLab中并命名为demo-2048。GitLab是一个功能强大且灵活的 DevOps 平台,为开发团队和企业提供了从代码管理到持续集成、交付和部署的一整套解决方案。

kuuuugua的博客 4396

解决win11无法安装.net framework 3.5(包括.net2.0和3.0)错误代码:0x80070005

解决win11无法安装.net framework 3.5(包括.net2.0和3.0)错误代码:0x80070005

zeng699304的博客 2万+

Nginx+FastCGI运行原理

FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等。同时,FastCGI也被许多脚本语言支持,其中就有PHP。FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析

学无止境,向互联网致敬! 3913

Android存储空间不足下,APP出现奔溃等情况

版权声明:本文为博主原创文章,未经博主允许不得转载。 1. 问题起因     实时录制视频,使用getExternalCacheDir()函数返回的路径作为文件缓存区 2. 问题产生     系统在空间不足的情况下第一清除getExternalCacheDir和getCache文件下的缓存,导致正在录制的视频出现Error。 3. 解决方案     第一

OverseasAndroid的博客 4160

Nginx CGI、FastCGI、SCGI、WSGI网关接口简介

CGI 是一种通用网关接口规范,该规范详细描述了 Web 服务器和请求处理程序(脚本解析器)在获取及返回数据过程中传输数据的标准,如 HTTP 协议的参数名称等。大多数 Web 程序以脚本形式接收并处理请求,然后返回相应数据,如脚本程序 PHP、JSP、Python 等

kanweilai2019的博客 3943

Android GNSS 可视卫星星空图/卫星天顶图 原理及画法介绍

目录1 概念介绍2 绘制步骤2.1 获取卫星信息2.2 绘制底图 效果图: 1 概念介绍 首先介绍一下方位角和高度角的概念: 方位角:是从某点的指北(地理北极)方向线起,依顺时针方向到目标方向线之间的水平夹角。 高度角:从一点至观测目标的方向线与水平面间的夹角。 卫星天顶图 即是根据每一颗卫星的方位角和高度角将其画在以观测位置为中心的天顶图上。 天顶图其底图为由外向内的三个圆和四条直线。三个圆由外向内依次代表高度角0°、30°、60°,中心点代表90°;四条直线分别表示正北-正南、东北-西南、正东

x1471898145的博客 1万+

修改yolov8使支持单通道图像输入

默认支持BGR三通道图像输入,但是在很多工业场景下,存在很多灰度图像的场景,因此对yolov8代码做一些修改以支持单通道图像输入,满足项目实际需求。训练时,只需要在 data 的 yaml 文件中,添加 ch=1 即可。

mingo_敏 5779

nginx 配置PHP fast_cgi

在配置nginx的时候,fastcgi_pass的配置问题,如下所示: location ~ \.php$ { root /home/wwwroot; fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; #fastcgi_pass unix:/tmp/php-cgi.sock; try_fil

gy_122922的博客 622

【大模型】DeepSeek 高级提示词技巧使用详解

DeepSeek 高级提示词技巧使用详解

congge 1万+

HXP heiko :UTF-8 畸形字节注入到fast-cgi突破 AppArmor

摘要:本文分析了一个名为MaaS(Manpage-as-a-Service)的PHP服务漏洞。该服务通过man命令查询手册页,但存在UTF-8编码绕过和命令注入风险。研究发现,利用畸形UTF-8字符可绕过mb_*函数校验,并通过man的-H参数执行命令。虽然AppArmor限制了直接访问根目录,但通过创建恶意Nginx配置可绕过限制,最终获取flag。文章详细介绍了漏洞原理、利用方法及防御措施,包括UTF-8编码特性、AppArmor限制和FastCGI配置等安全机制。

jijhvuu的博客 413

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

FAST-CGI安装与使用

FastCGI 像是一个常驻 (long-live) 型的 CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去 fork 一次 (这是 CGI 最为人诟病的 fork-and-execute 模式)。 1.下载安装fcgi # wget  http://www.fastcgi.com/dist/fcgi.tar.gz # tar zxvf  fcgi.tar.gz #

编程的本质是数学问题 5112

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

cgi与fast-cgi理解

1.关于cgi 1.1.什么是cgi 1)CGI(Common Gateway Interface)全称是“通用网关接口”,是一种让客户端(web浏览器)与Web服务器(nginx等)程序进行通信(数据传输)的协议。 用来规范web服务器传输到php解释器中的数据类型以及数据格式,包括URL、查询字符串、POST数据、HTTP header等,也就是为了保证web server传递过来的数据是标准...

qq_25705173的博客 1054

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

php的运行原理、cgi对比fastcgi以及php-cgi和php-fpm之间的联系区别

最近项目中本地测试环境遇到了windows环境下的nginx使用file_get_contents/curl访问php文件导致的阻塞问题,一直在找解决的方案,这个问题研究了三天终于找到了解决方案,原本网上也有博客写过解决的方案,但是内容不是有缺失,就是有些错误,所以在找到解决方案后决定详细的把问题解决过程写下来,希望能帮到其他人,另外因为这个问题我也对php的运行原理产生了一定的兴趣,所以也做了一

贝伦酱 2万+

nginx的upstream和fast-cgi的应用、

接着上次总结的nginx的反向代理继续总结。 总的upstream的配置方法一共有如下几种 官方网址: http://nginx.org/en/docs/http/ngx_http_upstream_module.html 根据官网上的介绍,upstream模块的样例配置。     upstream backend {         server nginx-2

Ghost_02的博客 2097

nginx_fast cgi_c++整理

1.介绍 Nginx-高性能webserver。 FastCGI程序-常驻型CGI(CommonGatewayInterface)程序,它是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。 Ng...

chiloutao9982的博客 149

lighttpd + mysql + php(fast-cgi)安装与配置详解

fast_cgi模块详解 nginx–location 语法规则: location [=||*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 开头表示区分大小写的正则匹配 ~* 开头表示不区分大小写的正则匹配 !和!*分别为区分大小写不匹配及不区分大小写不匹配 的正则 / 通用匹配,任何.

云博客_资源宝分享 1201

php fast cgi nginx,fast-cgi 启动了,但是 nginx 无法执行 php

我用的是ubuntu12.04,php是5.2.10然后用的spawn-fcgi。top里面能看到php5-cgi启动起来了,访问html没问题,我用nginx upstream转发到apache(8080端口)也能执行php程序,就是fastcgi有问题。网页提示502,日志 connect() failed (111: Connection refused)我用的是ubuntu12.04,ph...

weixin_33940469的博客 195

Fast-cgi cgi nginx php-fpm 的关系

Fast-cgi  cgi  nginx  php-fpm 的关系 Fast-cgi是由cgi发展而来,是http服务器(http,nginx等)和动态脚本语言(php,perl等)之间的的通信接口,只是一个接口而已,他以socket的形式存在(可以是文件socket,也可以是ip socket),可以将http服务器和动态脚本解析服务器分离(二者可以部署在不同的服务器上),让http服务器专一

a451491135的博客 1063

nginx下面部署fast-cgi和C++【原】

1.cgi文件的代码 #include "fcgi_stdio.h" #include <stdlib.h> #include <stdio.h> int main() { /* Initialization Code */ int count = 0; /* Start of respon...

dkyptnz538386的博客 300

php-fpm,cgi,fast-cgi,nginx,php.ini,php-fpm.conf,nginx.conf

php-fpm.conf 是PHP-FPM特有的配置文件。 php.ini 是所以php模式中必须的配置文件。 两者的区别是,php-fpm.conf 是PHP-FPM进程管理器的配置文件,php.ini 是PHP解析器的配置文件。 cgi、fast-cgi协议 早期的webserver只处理html等静态文件,但是随着技术的发展,出现了像php等动态语言。 webserver处理不了了,怎么办呢...

weixin_30907523的博客 164

nginx是如何与fast-cgi/cgi,php-fpm结合的

转载:https://www.jianshu.com/p/aff916a26940 nginx是什么 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 php-fpm是什么 如果对php-fpm不了解,请移步我的这篇文章 -> CGI,FastCGI,PHP-FPM三者之间的关系 要搞清楚ngin...

weixin_43746624的博客 523

php:cgi、fast-cgi、php-fpm之间的关系

php-fpm是什么 1、cgi、fast-cgi协议 cgi的历史 早期的webserver只处理html等静态文件,但是随着技术的发展,出现了像php等动态语言。 webserver处理不了了,怎么办呢?那就交给php解释器来处理吧! 交给php解释器处理很好,但是,php解释器如何与webserver进行通信呢? 为了解决不同的语言解释器(如php、python解释器)与webserver的...

分享前端开发工程师的一些日常生活、前端知识点、职业发展、对一些问题的看法、感悟等等 373
上一篇: left join/right join/inner join
下一篇: crontab
Dark_Passion
博客等级 码龄17年 14粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值