关闭

Nginx+PHP-FPM的域Socket配置方法

15554人阅读 评论(0) 收藏 举报
分类:

 

1什么是域Socket

“Unix domain socket 或者 IPCsocket 是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix domain sockets 既可以使用字节流数和数据队列,而管道通信则只能通过字节流。Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。 Unix domain sockets 使用系统文件的地址来作为自己的身份。它可以被系统进程引用。所以两个进程可以同时打开一个Unix domain sockets来进行通信。不过这种通信方式是发生在系统内核里而不会在网络里传播。

         -----维基百科


2创建Socket文件

在/dev/shm下,执行:

         touch php-fcgi.sock

         chown admin:admin php-fcgi.sock

         chmod 777 php-fcgi.sock


3 Nginx配置

===============================================================================

server

{

         listen                   80;

         server_name              cdai.net;

   autoindex off;

         error_page403 /index.php;

         error_page404 /index.php;

         if( $fastcgi_script_name ~ \..*\/.*php ) {

                   return403;

    }

   location / {

       index                   index.php;

       root                   /home/cdai;

 

    }

   location ~ \.php$ {

                   root                    /home/cdai;

                   include                 fastcgi_params;

       fastcgi_pass            unix:/tmp/php-fcgi.sock;

       fastcgi_index           index.php;

                   fastcgi_param   SCRIPT_FILENAME/cdai.net$fastcgi_script_name;

    }

}

 

4 PHP-FPM配置

/etc/php-fpm.d/www.conf配置改动如下:

===============================================================================

         listen= /tmp/php-fcgi.sock

         listen.owner= admin

listen.group =admin

 

5重启服务

重启Nginx服务:

nginx-s reload

 

重启PHP-FPM

注意:一定要完全停掉再启动,不能用USR2信号平滑重启。

 

这时再看Socket文件就会看到文件类型变成了s,通信已建立。

 

3
0
查看评论

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

前言 nginx和fastcgi的通信方式有两种,一种是TCP的方式,一种是unix socke方式。两种方式各有优缺点,这里先给出两种的配置方法,然后再对性能、安全性等做出总结。 配置指南 TCP配置方式 TCP通信配置起来很简单,三步即可搞定 第一步,编辑 /etc/nginx/con...
  • pcyph
  • pcyph
  • 2015-06-16 06:43
  • 4491

Php-fpm TcpSocket vs UnixSocket

偶然看到CNXCT小组的文章:http://www.cnxct.com/default-configuration-and-performance-of-nginx-phpfpm-and-tcp-socket-or-unix-domain-socket/ 受到一些启发,遂google了一下,的确有...
  • Liv2005
  • Liv2005
  • 2012-07-12 19:25
  • 10370

nginx用socket连接php-fpm

第一步:添加php5-fpm.sock文件            cd /var/run            sudo vim php5-fpm.sock  //啥也不...
  • f8cncn
  • f8cncn
  • 2017-02-08 19:35
  • 441

Nginx+PHP-FPM的域Socket配置方法

一般来说域Socket比tcp方式效率高
  • hm2462964492
  • hm2462964492
  • 2014-05-05 17:50
  • 563

unix域socket通信实例

socket服务器端:server.c//socket读写默认的是非阻塞的#include #include #include #include #include #include #include #include #include #inc
  • wuhengwudi
  • wuhengwudi
  • 2011-09-20 15:54
  • 6728

nginx和php-fpm 是使用 tcp socket 还是 unix socket ?

tcp socket允许通过网络进程之间的通信,也可以通过loopback进行本地进程之间通信。unix socket允许在本地运行的进程之间进行通信。分析 从上面的图片可以看,unix socket减少了不必要的tcp开销,而tcp需要经过loopback,还要申请临时端口和tcp相关资源。但是...
  • qq624202120
  • qq624202120
  • 2017-03-09 12:13
  • 2357

allegro封装生成器FPM、含破解

  • 2015-03-31 13:48
  • 582KB
  • 下载

进程笔记2:进程之间的通信(UNIX域套接字socket)

socket的地址数据结构根据不同的系统以及网络环境有不同形式。为了使不同格式地址能够被传入套接字函数,必须强制将地址结构转换为: struct sockaddr{ sa_family_t sa_family; /* address family*/ char sa_...
  • timebomb
  • timebomb
  • 2012-02-20 17:45
  • 10959

nginx+php运行原理(以及nginx和php-fpm)

nginx服务器作用1,前端服务器:负责http请求解析转发,或者处理静态请求。轻量级,并发量高,可以作为反向代理,负载均衡。 应用服务器:负责调用某种语言的解释器,或则某某种语言写的程序,接受http请求,按照开发者意图做出动作,把结果返回给请求。Fastcgicgi:全称common gat...
  • will5451
  • will5451
  • 2017-09-08 09:23
  • 205

nginx下设置php-fpm使用socket文件的方法分享

本文介绍下,在nginx服务器环境下,设置php-fpm使用socket文件的方法,有需要的朋友参考下。 1、首行,在配置文件/usr/local/php/etc/php-fpm.conf文件中找到 127.0.0.1:9000 修改为: /var/...
  • u011630575
  • u011630575
  • 2015-09-08 10:19
  • 712
    个人资料
    • 访问:3397917次
    • 积分:24527
    • 等级:
    • 排名:第316名
    • 原创:314篇
    • 转载:56篇
    • 译文:3篇
    • 评论:1594条
    博客专栏
    最新评论