单个nginx虚拟主机中的不同php-fpm池

我在网上search了一段时间,但不能成功。 我的问题如下:

我想在一个nginx虚拟主机中使用不同的php-fpm池,但是却找不到configuration我的vhostconfiguration的location ~ \.php$ {...}一部分来支持两个不同的工人池。

我唯一的解决scheme是将Web请求redirect到另一个nginx站点。

先谢谢你

你可以遵循以下原则:

 set $upstream /path/to/defaultfpm-socket; location /first { set $upstream /path/to/fpm1-socket; } location /second { set $upstream /path/to/fpm2-socket; } fastcgi_pass $upstream; 

所以,在这里我们根据位置(URI的一部分)将$upstreamvariables设置为我们要使用的PHP5-FPM套接字。 然后,我们使用fastcgi_pass的variables将请求传递给该PHP5-FPM实例。

location规则可以使用普通的nginx匹配规则,比如正则expression式,前缀等匹配。 设置一个默认值是一个好主意,这样总是可以parsing请求。

您还需要在configuration中包含其他FastCGI语句。