文档章节

nginx通过unix-domain-socket连接fastcgi

求学ing
 求学ing
发布于 2013/09/04 14:43
字数 436
阅读 265
收藏 6

网上都说这种方式比较快,今天有机会测试一下!!

先安装 webbench 压力测试工具

下载和安装!

wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install

报错和解决!

参考:http://js8.in/930.html

------------------------------------------------------------------

在大家平时配置的nginx连接fastcgi的方式上只需要修改三步就能修改成通过unix-domain-socket连接fastcgi !

A:修改nginx的配置文件.

     # fastcgi_pass   127.0.0.1:9000;      (注释掉)      
        fastcgi_pass unix:/tmp/php-cgi.sock;   (新添加)

B:在/tmp目录添加sock文件!
        touch /tmp/php-cgi.sock   (拥有者和所属的组与启动php的用户一样,看情况修改)

C: 修改php-fpm.conf文件!

    我用的nginx版本是1.5.3 在php-fpm.conf配置文件中没有定义9000端口的地方. 但是php-fpm.conf配置文件包含 php-fpm.d目下的配置文件,所以我要修改php-fpm.d目录里的配置文件www.conf!

    vim /etc/php-fpm.d/www.conf

    listen = /tmp/php-cgi.sock  (新添加)
    #listen = 127.0.0.1:9000  (注释掉源文件)

最后重启nginx和php-fpm,


然后用webbench 工具测试!

 webbench -2 -c 800 -t 30 http://192.168.1.220/index.php

经过测试得出的结果是:  Requests: 28438 susceed, 298 failed. 会有300左右个失败, 经过在网上查找是nginx配置文件需要添加 proxy_ignore_client_abort on;. 解释如下



添加上这行配置以后 结果如下:Requests: 28463 susceed, 39 failed.,  失败率明显减少很多了!!

虽然减少了 但是还是有,后来修改了nginx的衍生进程数就好了worker_processes  5; (以前默认是1) .

但是查看nginx的访问日志会发现有一些499和502错误, 449错误的原因一般是客户端或者服务端断开了连接!  502 错误一般是php解析压力过大导致.  



© 著作权归作者所有

求学ing
粉丝 12
博文 174
码字总数 72348
作品 0
昌平
私信 提问
nginx 与 php-fpm通信的两种方式

  前言   nginx转发php类型的请求可以通过fastcgi的方式,fastcgi支持TCP和 unix domain socket两种方式。         Unix domain socket监听   Unix domain socket 或者 IPC sock...

linux运维菜
2018/12/10
0
0
FastCGI特点原理、nginx与php-fpm两种通信方式对比

kankacan一、FastCGI特点: 1、HTTP服务器和动态脚本语言间通信的接口或工具 2、可把动态语言解析和HTTP服务器分离I 3、Nginx、Apache、Lighttpd,以及多数动态语言 都支持FastCGI 4、FastC...

nineep
2018/06/27
0
0
深入理解nginx、php通讯机制 FastCGI 协议

nginx 和 php 通讯主要通过 FastCGI 通讯协议。 说起 FastCGI,需要先解释一下 CGI,通用网关接口 (Common Gateway Interface),是 Web Server 与后台语言交互的协议,有了这个协议,开发者可...

angkee
2018/07/26
0
0
基于 Docker 的 php-fpm 如何使用 socket 方式进行连接

现有两个容器:nginx 和 php-fpm,我们通常的连接方式是采用 tcp 形式,配置 将 php 相关请求转发给 php-fpm,而使用 socket 的连接方式,将获得更好的性能。 具体配置示例如下: 配置 dock...

whoru
2018/11/30
880
0
在Ubuntu上安装配置Nginx, PHP, MySQL

用Fastcgi安装和配置PHP5 1.安装spawn-fcgi,输入命令: 2.安装PHP 3.现在写一个脚本,它使FastCGI PHP 进程出现在unix domain socket中。我们建立文件 /usr/sbin/fastcgi-php。 然后将下面内...

火耳
2011/01/16
974
4

没有更多内容

加载失败,请刷新页面

加载更多

把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?

作者丨张瓅玶(谷朴)阿里巴巴研究员 阿里巴巴核心系统作为全球最大规模、峰值性能要求最高的电商交易系统,在 2018 年之前只通过混合云弹性上云方式,为 双11 节约大量成本。直到 2019 年,...

阿里巴巴云原生
18分钟前
3
0
PHP MySQLi 系列函数

如何用mysqli系列函数连接一个mysql数据库? 1.PHP mysqli_connect()函数:mysqli_connect() 函数打开一个到 MySQL 服务器的新的连接。 语法:mysqli_connect ( host (规定主机名或IP地址), ...

imzchloe
36分钟前
2
0
如何在Notepad ++中格式化XML?

我有Notepad ++ ,我得到了一些非常长的XML代码。 当我将它粘贴在Notepad ++中时,存在很长的代码行(难以阅读和使用)。 我想知道是否有一种简单的方法可以使文本可读(通过可读,我的意思是...

技术盛宴
51分钟前
6
0
(Object[])null

dbutils下QueryRunner.java 的一段代码: package org.apache.commons.dbutils; public <T> T query(Connection conn, String sql, ResultSetHandler<T> rsh) throws SQLException { ......

行者终成事
52分钟前
5
0
商品评价

商品评价 商品评价 商品评价:指买家对所购买商品的评价。 一、商品评价的具体操作:在个人中心找到商品评价,找到商品对其评价,添加评价内容,添加商品图片。 二、商品评价在后台的具体显示...

Geek-Chic
55分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部