首页
学习
活动
专区
圈层
工具
发布

nginx和php-fpm通信,使用unix socket还是TCP及其配置

前言 nginx和fastcgi的通信方式有两种,一种是TCP的方式,一种是unix socke方式。两种方式各有优缺点,这里先给出两种的配置方法,然后再对性能、安全性等做出总结。.../default) 将fastcgi_pass参数修改为127.0.0.1:9000,像这样: location ~ \.php$ {       index index.php index.html...index.php;       include fastcgi_params;  } 第二步,编辑php-fpm配置文件 /etc/php5/fpm/pool.d/www.conf 将listen参数修改为...Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。.../www.conf 将listen参数修改为/dev/shm/fpm-cgi.sock,像这样: listen=/dev/shm/fpm-cgi.sock 将listen.backlog参数改为-1,

2.3K30

Nginx中unix socket和tcp socket的区别是什么

Nginx连接fastcgi的方式有2种:unix domain socket和TCP,Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信...与管道相比,Unix domain sockets 既可以使用字节流和数据队列,而管道通信则只能通过字节流。...Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。...下面是php 5.3以上版本将TCP改成socket方式的配置方法: 修改php-fpm.conf(/usr/local/php/etc/php-fpm.conf) ;listen = 127.0.0.1...:9000 listen = /dev/shm/php-cgi.sock 修改nginx配置文件server段的配置,将http的方式改为socket方式 location ~ .*.

1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    IIS服务器发布PHP网站

    系统的Web项目部署,本篇以PHP项目为例,讲解如何使用IIS完成PHP项目的发布。...在服务器C盘里新建一个文件夹,命名php,把下载的压缩包解压到php文件夹里, 并在php文件夹里再新建一个www文件夹。...将 PHP 的根目录下的php.ini-production复制一份并改名为 php.ini,作为PHP的配置文件; 二、PHP配置设置 编辑php.ini,里面有很多配置要修改 1.修改扩展文件的路径...就在fastcgi的下面,取消; cgi.rfc2616_headers = 1的注释 取消后如图: 我们把修改好的php.ini文件复制一份,放到C盘的windows文件夹下 三、配置IIS的PHP部署环境...服务器管理器 => IIS => 添加角色和功能 => 安装CGI 进入IIS管理器 进入后依次配置处理程序映射、FastCGI设置、默认文档、身份验证。

    3.2K10

    Win7 下部署 Discuz!

    如果使用 IIS 7 以下的版本,可能需要额外安装 FastCGI,下载地址 http://www.iis.net/expand/fastcgi。...PHP 5.4.42 因为 PHP 5.2.10 开始已经不再提供 php5isapi.dll,也即在 IIS 上只能使用 FastCGI 而能使用 ISAPI 方式了,所以选用 Non Thread...将 MySQL 服务成功停止后,找到 D:\discuz\MySQL\my.ini,将 datadir 修改为你想要放置数据库文件的地方,比如: datadir="D:/discuz/Database"...安装时会重启 IIS 服务。 部署 Discuz! 将前面下载的 Discuz! 包解压,把 upload 文件夹里的内容复制到 D:\discuz\wwwroot下,当然你也可以新建子目录来放置。...此时实际上是打开了「高级安全 Windows 防火墙」,右键「入站规则」,选择「新建规则」,规则类型选「端口」,协议和端口选择「TCP」和「特定本地端口:80」,操作选择「允许连接」,配置文件保持默认的全部勾选

    1.2K10

    Win7 下部署 Discuz!

    如果使用 IIS 7 以下的版本,可能需要额外安装 FastCGI,下载地址 http://www.iis.net/expand/fastcgi。...PHP 5.4.42 因为 PHP 5.2.10 开始已经不再提供 php5isapi.dll,也即在 IIS 上只能使用 FastCGI 而能使用 ISAPI 方式了,所以选用 Non Thread...将 D:\discuz\PHP 文件夹内的 php.ini-development 拷贝一份为 php.ini,找到并修改下列内容如下: fastcgi.impersonate = 1 cgi.fix_pathinfo...将 MySQL 服务成功停止后,找到 D:\discuz\MySQL\my.ini,将 datadir 修改为你想要放置数据库文件的地方,比如: datadir="D:/discuz/Database"...此时实际上是打开了「高级安全 Windows 防火墙」,右键「入站规则」,选择「新建规则」,规则类型选「端口」,协议和端口选择「TCP」和「特定本地端口:80」,操作选择「允许连接」,配置文件保持默认的全部勾选

    1.7K30

    Web中间件常见漏洞总结

    版本: IIS6.0 2、漏洞复现 1) 开启WebDAV 和写权限 ? ? 2) 利用burp测试 抓包,将GET请求改为OPTIONS ? 3)利用工具进行测试 ?...3、 漏洞修复 1) 将php.ini文件中的cgi.fix_pathinfo的值设为0.这样php在解析1.php/1.jpg这样的目录时,只要1.jpg不存在就会显示404; 2) 将/etc/php5...3、 漏洞修复 将/etc/nginx/sites-avaliable/default里的autoindex on改为autoindex off (四) CRLF注入 1、 漏洞简介及成因 CRLF时“...访问127.0.0.1:8080,burp抓包,send to Repeater,将请求方式改为PUT,创建一个122.jsp,并用%20转义空格字符。...八、 其它中间件相关漏洞 (一) FastCGI未授权访问、任意命令执行 1、 漏洞简介及成因 服务端使用fastcgi协议并对外网开放9000端口,可以构造fastcgi协议包内容,实现未授权访问服务端

    5.2K40

    实战 | 利用SSRF渗透内网主机-中

    众所周知,在网站分类中存在一种分类就是静态网站和动态网站,两者的区别就是静态网站只需要通过浏览器进行解析,其中的页面是一对一的(一个内容对应一个页面),而动态网站需要一个额外的编译解析的过程,网页上的数据是从数据库中或者其他地方调用...PHP-FPM攻击实现原理 想要分析它的攻击原理需要从FastCGI协议封装数据内容来看,这里仅对攻击原理做简要描述,CGI 和 FastCGI 协议的运行原理这篇文章中详细介绍了FastCGI协议的内容...,php://input也就是POST的内容,这个我们可以在FastCGI协议的body控制为恶意代码,这样就在理论上实现了php-fpm任意代码执行的攻击。...MySQL连接方式 MySQL分为服务端和客户端,客户端连接服务器使存在三种方法: •Unix套接字•内存共享/命名管道•TCP/IP套接字 •在Linux或者Unix环境下,当我们输入mysql –...•在Windows系统中客户端和Mysql服务器在同一台电脑上,可以使用命名管道和共享内存的方式。

    1.7K22

    SSRF漏洞之FastCGI利用篇「建议收藏」

    和nginx的php5_module、CGI、FastCGI,给IIS的ISAPI,以及Shell的CLI 经过不断的技术升级,目前搭建高性能的PHP Web服务器,最佳的方式是Apache/Nginx...协议发送 CGI 环境变量和标准输入数据给 这个CGI 解释器进程 CGI 解释器进程完成处理后将标准输出和错误信息从同一连接返回 Web 服务器 CGI 解释器进程接着等待并处理来自 Web 服务器的下一个连接...上述原理图中提到的Socket 通信即为此模式 配合文章开头的漏洞演示来看,我们利用SSRF漏洞攻击FastCGI是在TCP模式下进行 0x02.FastCGI攻击原理 FastCGI协议 HTTP协议是浏览器和服务器中间件进行数据交换的协议...,类比HTTP协议来说,fastcgi协议则是服务器中间件和某个语言后端(如PHP-FPM)进行数据交换的协议 Fastcgi协议由多个record组成,record也有header和body一说,服务器中间件将这二者按照...>:/_后接TCP数据流 当后接TCP数据流为我们构造的恶意FastCGI协议报文,即可执行恶意命令 根据上一章节的FastCGI攻击原理分析,我们需要满足三个条件

    2.8K43

    PHP强化之22 - CGI、FastCGI与PHP-FPM

    PHP-FPM(FastCGI Process Manager):FastCGI进程管理器,是 PHP(Web Application)对 Web Server 提供的 FastCGI 协议的接口程序,...所以,CGI就是规定要传哪些数据,以什么样的格式传递给后方处理这个请求的协议。仔细想想,你在PHP代码中使用的用户从哪里来的。 也就是说,CGI就是专门用来和 web 服务器打交道的。...CGI的好处就是完全独立于任何服务器,仅仅是做为中间分子。提供接口给apache和php。他们通过cgi搭线来完成数据传递。这样做的好处就是尽量减少了这两个程序的关联,使他们变得更独立。...4)FastCGI子进程完成处理后,将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。...五、PHP-FPM PHP-FPM 是对于 FastCGI 协议的具体实现,他负责管理一个进程池,来处理来自Web服务器的请求。目前,PHP5.3版本之后,PHP-FPM是内置于PHP的。

    92610

    如何在Windows 2008服务器上部署IIS+PHP(FastCGI)和MySQL

    不知道从什么时候开始的,部署IIS的WEB服务器居然可以兼容PHP了,这个还真不知道,孤陋寡闻了,我记得我在使用win服务器的时候,只能使用Apache去搭建web服务器,这几天需要在Windows服务器重新部署...安装PHP: 将下载的php版本解压,我们环境所需是7.3,所以我下载的是7.3.23版本x64的,根据实际情况按照准备链接进行下载,这里说下,因为win默认没有解压软件,默认可以直接打开zip文件,我以为是文件夹...,怎么复制和粘贴都不对,后来才看见是zip,,, 解压php-7.3.32-nts-Win32-VC15-x64.zip文件,重命名文件夹为php73,把php73文件夹拷贝到指定的磁盘目录,我们在E...\php-cgi.exe 名称:FastCGI 其中可执行文件,在选择的时候设置(*.exe)或者直接把目录换成你的php目录,其他直接粘贴就行。...设置FastCGI,找到中间的IIS部分,打开“FastCGI设置”  右键选中“E:\phpmysql\php73\php-cgi.exe”然后选择编辑,监视对文件所做的更改:E:\phpmysql

    1.4K10

    全面了解CGI、FastCGI、PHP-FPM

    php默认提供了很多种sapi,常见的提供给apache和nginx的php5_module、CGI、FastCGI,给IIS的ISAPI,以及Shell的CLI。...这样做的好处了尽量减少2个的关联,使他们2变得更独立。...(CGI程序和FastCGI程序,可以理解成遵循CGI协议和FastCGI协议编写的程序) FastCGI的工作原理: FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程...(4)FastCGI子进程完成处理后,将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。...3、PHP-FPM 首先要说的是:fastcgi是一个协议,php-fpm实现了这个协议。 大家都知道,PHP的解释器是php-cgi。

    1.1K00

    nginx,ingress-nginx日常维护及报错

    这样将php的request_terminate_timeout设置为较大的值或0,可减少因php脚本执行时行过长导致nginx产生Connection reset by peer错误。...3.5 FastCGI缓冲配置主要参数 fastcgi_buffers 4 64k 这个参数指定了从FastCGI进程到来的应答,本地将用多少和多大的缓冲区读取,假设一个PHP或JAVA脚本所产生页面大小为...这个错误日志recv() failed (104: Connection reset by peer)是在后端为IIS的情况下抛出的,抓包发现IIS并不会发fin包来断开链接,而是在超时后发RST包重置连接..., NULL, NULL, NULL, 0, 1 }, 将最后一行的1改为0即可,根据数据结构分析可得知,这个1代表启用keepalived,所以客户端才不会主动断开连接...,因为这是tcp的端口连通性检查,不需要keepalived,将其改为0禁止keepalived即可。

    13.7K21
    领券