lnmp使用socket方式连接nginx优化php-fpm性能
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性能的更多相关文章
- 使用socket方式连接Nginx优化php-fpm性能
Nginx连接fastcgi的方式有2种:TCP和unix domain socket 什么是Unix domain socket?-- 维基百科 Unix domain socket 或者 IPC ...
- Nginx优化之服务性能优化
优化Nginx服务的worker进程个数 修改nginx主配置文件 worker_processes 1; #指定了Nginx要开启的进程数,结尾数字就是进程个数 Nginx有Master进程和wor ...
- 高性能网站服务器的架设优化-Nginx优化
一:对于高性能网站 ,请求量大,如何支撑?思路 在网站架构设计中,大家一定对 LNMP (Linux Nginx Mysql Php) 不陌生.LNMP 确实是一个非常优秀的架构,秉承着自由,开放,高 ...
- 18、nginx优化
一.性能优化概述 基询imm能优化,那么在性能优化这一章,我们将分为如下几个方面做介绍 1.首先我们需要了解性能优化要考虑哪些方面. 2.然后我们需要了解性能优化必须要用到的压力测试工具ab. 3.最 ...
- NGINX优化参数
(1)nginx运行工作进程个数,一般设置cpu的核心或者核心数x2 如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor / ...
- Nginx优化思路
对于高性能网站 ,请求量大,如何支撑? 1方面,要减少请求 对于开发人员----合并css, 背景图片, 减少mysql查询等. 2: 对于运维 nginx的expires ,利用浏览器缓存等,减少查 ...
- nginx优化配置大全
由于面试被问到nginx优化做过哪些 后来发现,其实做过的也不少,忘了的更不少,因此写个博客记录一下(里面有一些内容来源于其他作者). 配置文件样例为生产环境样例. 1.nginx基本优化 安装方式有 ...
- Nginx优化之一
一.Nginx安全优化 1.1:隐藏nginx版本信息 官方配置参数说明:http://nginx.org/en/docs/http/ngx_http_core_module.html#server_ ...
- nginx优化
此文章非原创,出自鸟哥之手~ http://blog.chinaunix.net/uid-25266990-id-2985541.html 改排版改得多,当然红色部分要注意下,用得较多 ------- ...
随机推荐
- 二分插入、bisect
在一个有序序列(从小到大)中查找一个元素 每次将元素与序列中间位置的元素进行比较 如果大于中点,则在后半段.如果小于中点,则在前半段.以此类推 时间复杂度为O(logn) 有一个无序序列[37, 99 ...
- Android -- 面试 -- 数据库升级策略
升级:重写onUpgrade方法 确定 相邻版本 的差别,从版本1开始依次迭代更新,先执行v1到v2,再v2到v3…… 为 每个版本 确定与现在数据库的差别,为每个case撰写专门的升级代码. 降级 ...
- [luogu3398][仓鼠找sugar]
luogu3398 思路: 假设松鼠a要从a1去a2,松鼠b要从b1去b2,ks表示lca(a1,a2)和lca(b1,b2)中深度较深的那个.那么,若要使得两只松鼠可能相遇,则只要满足lca(a1, ...
- Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) D. Minimum path
http://codeforces.com/contest/1072/problem/D bfs 走1步的最佳状态 -> 走2步的最佳状态 -> …… #include <bits/ ...
- Deformable ConvNets
Deformable ConvNets 论文 Deformable Convolutional Networks(arXiv:1703.06211) CNN受限于空间结构,具有较差的旋转不变性,较弱的 ...
- NOIP 普及组 2013 表达式求值
传送门 https://www.cnblogs.com/violet-acmer/p/9898636.html 题解: 哇哇哇,又是一发暴力AC. 用字符数组存储表达式. 然后将表达式中的 数字 与 ...
- (大数 万进制) N! hdu1042
N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Subm ...
- JVM总结(五):JVM字节码执行引擎
JVM字节码执行引擎 运行时栈帧结构 局部变量表 操作数栈 动态连接 方法返回地址 附加信息 方法调用 解析 分派 –“重载”和“重写”的实现 静态分派 动态分派 单分派和多分派 JVM动态分派的实现 ...
- 学习windows编程 day3 之滚动条完善
1.不再使用setscrollrange,setscrollpos,getscrollrange,getscrollpos这些函数,这只是有助于理解其中运行原理 2.改用setscrollinfo,g ...
- 部署支持 https 的 Nginx 服务
通过 Certbot 为 nginx 开启https支持. 环境 CentOS 7.1 python2.x(这玩意系统里本来就有) 安装Nginx sudo yum install nginx -y ...