lnmp使用socket方式连接nginx优化php-fpm性能





Nginx连接fastcgi的方式有2种:TCP和unix domain socket





什么是Unix domain socket?—— 维基百科

Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix domain sockets 既可以使用字节流和数据队列,而管道通信则只能通过字节流。Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。





Unix domain sockets 使用系统文件的地址来作为自己的身份。它可以被系统进程引用。所以两个进程可以同时打开一个Unix domain sockets来进行通信。不过这种通信方式是发生在系统内核里而不会在网络里传播。





将tcp改成socket方式的配置方法:

1、修改php-fpm的配置文件(如果是编译安装可能是/etc/php-fpm,视具体情况而定)





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

;listen = 127.0.0.1:9000

listen = /dev/shm/php-cgi.sock





2、修改.sock文件权限(修改为运行php-fpm的用户)

方法:

ps -ef|grep php-fpm

root      6940     1  0 17:03 ?        00:00:00 php-fpm: master process (/etc/php-fpm.conf)

nginx     6941  6940  0 17:03 ?        00:00:00 php-fpm: pool www

nginx     6942  6940  0 17:03 ?        00:00:00 php-fpm: pool www

nginx     6943  6940  0 17:03 ?        00:00:00 php-fpm: pool www

nginx     6944  6940  0 17:03 ?        00:00:00 php-fpm: pool www

nginx     6945  6940  0 17:03 ?        00:00:00 php-fpm: pool www





修改用户权限

chown nginx:nginx /dev/shm/php-cgi.sock

其中nginx是php-fpm.conf里面设置的用户和群组





ll /dev/shm/php-cgi.sock 

srw-rw-rw- 1 nginx nginx 0 Oct  8 17:03 /dev/shm/php-cgi.sock





3、修改nginx配置文件

vim /etc/nginx/nginx.conf





将 fastcgi_pass   127.0.0.1:9000;

改为





fastcgi_pass  unix:/dev/shm/php-cgi.sock;





具体:

location ~ \.php$ {

try_files $uri = 404;

#fastcgi_pass   127.0.0.1:9000;

fastcgi_pass  unix:/dev/shm/php-cgi.sock;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include        fastcgi_params;

}





4、重启nginx和php-fpm

systemctl restart php-fpm

systemctl restart nginx





经过测试,php应用正常使用





参考链接:

https://blog.linuxeye.com/364.html

http://blog.csdn.net/niao_ye/article/details/39666695

http://yangjunwei.com/a/1760.html

http://blog.csdn.net/liv2005/article/details/7741732

http://www.cnxct.com/default-configuration-and-performance-of-nginx-phpfpm-and-tcp-socket-or-unix-domain-socket/

lnmp使用socket方式连接nginx优化php-fpm性能的更多相关文章

  1. 使用socket方式连接Nginx优化php-fpm性能

    Nginx连接fastcgi的方式有2种:TCP和unix domain socket 什么是Unix domain socket?-- 维基百科 Unix domain socket 或者 IPC ...

  2. Nginx优化之服务性能优化

    优化Nginx服务的worker进程个数 修改nginx主配置文件 worker_processes 1; #指定了Nginx要开启的进程数,结尾数字就是进程个数 Nginx有Master进程和wor ...

  3. 高性能网站服务器的架设优化-Nginx优化

    一:对于高性能网站 ,请求量大,如何支撑?思路 在网站架构设计中,大家一定对 LNMP (Linux Nginx Mysql Php) 不陌生.LNMP 确实是一个非常优秀的架构,秉承着自由,开放,高 ...

  4. 18、nginx优化

    一.性能优化概述 基询imm能优化,那么在性能优化这一章,我们将分为如下几个方面做介绍 1.首先我们需要了解性能优化要考虑哪些方面. 2.然后我们需要了解性能优化必须要用到的压力测试工具ab. 3.最 ...

  5. NGINX优化参数

    (1)nginx运行工作进程个数,一般设置cpu的核心或者核心数x2 如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor / ...

  6. Nginx优化思路

    对于高性能网站 ,请求量大,如何支撑? 1方面,要减少请求 对于开发人员----合并css, 背景图片, 减少mysql查询等. 2: 对于运维 nginx的expires ,利用浏览器缓存等,减少查 ...

  7. nginx优化配置大全

    由于面试被问到nginx优化做过哪些 后来发现,其实做过的也不少,忘了的更不少,因此写个博客记录一下(里面有一些内容来源于其他作者). 配置文件样例为生产环境样例. 1.nginx基本优化 安装方式有 ...

  8. Nginx优化之一

    一.Nginx安全优化 1.1:隐藏nginx版本信息 官方配置参数说明:http://nginx.org/en/docs/http/ngx_http_core_module.html#server_ ...

  9. nginx优化

    此文章非原创,出自鸟哥之手~ http://blog.chinaunix.net/uid-25266990-id-2985541.html 改排版改得多,当然红色部分要注意下,用得较多 ------- ...

随机推荐

  1. Java NIO -- DatagramChannel

    Java NIO中的DatagramChannel是一个能收发UDP包的通道.操作步骤:打开 DatagramChannel接收/发送数据 代码举例: package com.soyoungboy.n ...

  2. 洛谷P3768 简单的数学题

    解: 神奇的一批......参观yyb巨神的博客. 大致思路就是第一步枚举gcd,发现后面有个限制是gcd=1,用反演,得到的F(x)是两个等差数列求积. 然后发现有个地方我们除法的除数是乘积,于是换 ...

  3. vi怎么查找关键字

    进入vi的命令模式,具体操作:编辑模式下键入“:”,此时进入命令模式 在命令模式下键入“/”.

  4. Linux记录-进程数和句柄数调整

    1.cat /etc/security/limits.confwebuser soft nofile 65535webuser hard nofile 65535webuser soft nproc ...

  5. Hadoop记录-MRv2(Yarn)运行机制

    1.MRv2结构—Yarn模式运行机制 Client---客户端提交任务 ResourceManager---资源管理 ---Scheduler调度器-资源分配Containers ----在Yarn ...

  6. MySQL 获得当前日期时间 函数【转】

    获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------- ...

  7. 插入排序算法的JAVA实现

    1,对元素进行排列时,元素之间需要进行比较,因此需要实现Comparable<T>接口.即,<T extends Comparable<T>>. 更进一步,如果允许 ...

  8. JAVA单链表的实现-不带头结点但带有尾指针

    1,本程序实现了线性表的链式存储结构.实现的链表带有两个指针,一个始终指向链表中的第一个结点,另一个指针始终指向链表中的最后一个结点. 之所以设置尾指针,是因为,在插入元素到链表中的末尾时,可以通过尾 ...

  9. Spring Boot 启动过程及 自定义 Listener等组件

    一.启动过程 二.自定义组件 package com.example.jdbc.listener; import org.springframework.context.ApplicationCont ...

  10. linux系统--磁盘管理命令(一)

    一.基本命令 1.1 查看磁盘分区使用状况:df 参数: l:仅显示本地磁盘(默认) a:显示所有文件系统的磁盘使用情况,包括比如 /proc/ h:以1024进制计算最合适的单位显示磁盘容量 H:以 ...