5 个回答
  • unix socket适合nginx和php-fpm都在一台机器上面

  • TCP适合nginx和php-fpm不在同一台机器上面

  • TCP通信还需要三次握手

  • 生产环境,考虑高可用的话。会有多台nginx搭配多台php-fpm使用

  • 性能方面没注意过

unix socket 只能在同一机器上面使用,而且unix socket比套接字更快,因为其中没有套接字的路由操作,开销会比套接字更小。
会有很多linux傻瓜面板,他们可能会有很多中 php-fpm的版本,那么如果是不同版本去开不同的端口,然后nginx去配置的话,你要记住很多端口,sock文件便是解决这个问题最简单的方法。

具体参见:
https://stackoverflow.com/que...

大牛的沟通都是数据说话,哈哈哈哈

从稳妥的考虑肯定是使用tcp
原因是:
tcp协议能保证数据的正确性,sock不能保证。
虽然sock有更少的数据拷贝和上下文切换,更少的资源占用,但是如果数据都是错的,那还有什么用呢。

另外使用sock的话,必须nginx和fpm在同一台机器上。

表示没管过这个东西,都是nginx配置好了直接使用的,是 unix socket 吧

其实是看你的使用方式了,比如说传统的自己搭建的整个php环境也就是通常所说的nginx和php-fpm都安装在一台机器上,那你直接用unix socket就可以了。但是,如果说你之后倾向的发展方式是容器化,nginx和php都是单独构建容器化处理的话,那使用端口监听比较方便。

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