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

周梦康
  • 8.9k

我看到别人的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吗?

回复
阅读 25.8k
2 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏