1
Paual 2019-02-21 11:42:57 +08:00
这个问题具体我也不是很清楚,对于 swoole 不是特别的了解,上一家公司用了 nginx + swoole,没有使用 fpm,我们主要是用 swoole 作为 http 服务器吧,这样的话就没有用到 fpm 了,这是我现阶段的理解哈,如果有错的地方,希望指正,互相学习哈
|
2
oncewosiwo 2019-02-21 11:46:35 +08:00
swoole 可以替代 nginx+fpm 直接作为 http 服务器,也可以在应用在后端作为 rpc 服务,和前端的 nginx+fpm 的接口层配合使用
|
3
sheeta 2019-02-21 11:47:13 +08:00 via Android
应该是 Nginx+Swoole 吧
|
4
slince 2019-02-21 12:05:16 +08:00
标准用法是 nginx + swoole ; nginx 转发 http 请求给 swoole ; nginx+fpm 的时候是转发 fastcgi 请求给 fpm
|
5
jfcherng 2019-02-21 13:25:03 +08:00
術業有專攻,感覺還是前面放個 nginx 當 reverse proxy 比較好
|
6
ferock 2019-02-21 13:32:15 +08:00
swoole 真的是一种奇怪的使用 php 的方式
|
7
tanszhe 2019-02-21 13:36:48 +08:00
就是让 php 常驻内存,直接处理各个协议来的内容。
但是 swoole 对 http 协议的支持不是非常完善,所以最好前面用 nginx 来处理 http 协议,只把请求转发给 swoole 来处理。 当然你也可不用 NGINX,直接由 php 来处理。如果想用 swoole 最好是基于框架 使用起来简单的多 比如: https://github.com/lizhichao/one |
8
yc8332 2019-02-21 17:14:08 +08:00
当然是替换 fpm 啊。。。
|
9
thou95 2019-02-21 20:45:09 +08:00 6
Nginx 是 Web 服务器。
PHP 是脚本语言。 PHP 有个 SAPI 接口,PHP 默认有几个 SAPI 程序( php-cgi,php-cli,php-fpm...), 外部可以通过 SAPI 程序调用 PHP。 FastCGI 是通信协议。 FPM 是实现 FastCGI 协议的 SAPI 程序。 Web 服务器可以通过 FastCGI 协议向 FPM 请求处理 PHP 动态页面。 流程:浏览器 <--HTTP 协议--> Web 服务器 <--FastCGI 协议--> FPM Swoole 是 PHP 的网络通信扩展库。 Swoole 可以实现 FPM,Nginx 的功能,前提要实现 HTTP 协议,FastCGI 协议。 一般,Web 服务就用 Web 服务器,与自行实现 HTTP 协议相比,Web 服务器已经通过长期时间验证,能保证质量。 但是,有能力用 Swoole 搞个媲美传统 Web 服务器出来也不是不可能的。 Nginx 有个反向代理功能,目前推荐通过:Nginx <--反向代理--> Swoole 实现的 Http 服务器。 |
10
Gunn27 2019-02-22 11:51:37 +08:00
如果是单机,Swoole 一个就够了,可以替代 Nginx + php-fpm。如果要做分布式,Swoole 作为后端服务,还需要 Nginx 做前置机用来负载均衡。
|