首页  >  问答  >  正文

nginx 中 fastcgi_pass设置为监听unix socket 比监听tcp socket 执行效率高吗?

我看到别人的nginx配置中 fastcgi_passunix:/tmp/php-cgi.sock

而我的配置却是127.0.0.1:9000 (不讨论负载均衡什么的,就是最简单的一个server

unix:/tmp/php-cgi.sock127.0.0.1:9000二者有什么区别呢?

是不是前者处理速度更快呢?

我在我的php-fpm.conf看到

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on
;                            a specific port;
;   'port'                 - to listen on a TCP socket to all addresses on a
;                            specific port;
;   '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = 127.0.0.1:9000

是不是把这个listen的配置修改为/tmp/php-cgi.sock吗?

漂亮男人漂亮男人2712 天前725

全部回复(2)我来回复

  • 怪我咯

    怪我咯2017-05-16 17:28:00

    嗯,unix socket会更加快一点,不走网络
    另外放在/tmp目录不如放在内存里面
    我一般放在 /dev/shm/php-fpm.sock
    放在内存读取速度快更快的

    回复
    0
  • PHPz

    PHPz2017-05-16 17:28:00

    理论上,unix socket不走网络,会快些,
    可是,稳定性就不那么理想了,
    这里有人做过测试,你可以参考
    http://blog.csdn.net/liv2005/article/details/7741732

    回复
    0
  • 取消回复