代理HTTP请求到几台机器

我有

  • 一项称为传统服务的服务
  • 另一种称为开发服务的服务
  • 一堆HTTP请求来到传统服务

有没有办法在不编写自定义实用程序的情况下将HTTP请求代理到传统服务和新服务? 所以我可以在真实stream量上testing我的开发服务,但不closures传统服务。

是的,您可以使用上游模块将nginx负载平衡请求分配给不同的后端。

在全局块中:

upstream backend { server unix:/dev/shm/.php-fpm/socket; server unix:/dev/shm/.php-fpm/socket2; } 

或者使用服务器IP地址或域名,如果你想请求去其他机器,而不是不同的PHP实例。

然后在服务器块中:

 location ~ \.php$ { include fastcgi_params; fastcgi_pass backend; fastcgi_index index.php; fastcgi_send_timeout 15; fastcgi_read_timeout 15; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } 

后端也可以是IP /域名,以允许您对其他机器进行负载平衡。