首页 > 技术分享 > LNMP|WAMP
收藏

Nginx使用远程php,Nginx调用其它服务器中的php

01/11 18:41
大潇博客 原创文章,转载请标明出处

在Nginx的配置文件中,转发php请求的默认配置方法如下:

location ~ \.php$ {

root           html;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include        fastcgi_params;

}

通过配置中fastcgi_pass 127.0.0.1:9000也能看出,这种配置方法只针对本机安装的php


要远程调用其他服务器中的PHP,首先可以想到的大概要把fastcgi_pass修改为远程服务器的ip地址,比如:

location ~ \.php$ {

try_files $uri = 404;

#root           html;

fastcgi_pass   192.168.111.202:9000; //远程ip

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include        fastcgi_params;

}

这种通过fastcgi_pass命令将请求转发的正确,但仅这样操作,还不能访问到远程服务器中的PHP


如果想实现分布式,还需要修改远程服务器中PHP监听的ip,默认是127.0.0.1:9000,修改为0.0.0.0:9000

127.0.0.1   代表本机。

0.0.0.0   代表所有本地地址,相当于一个集合:所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由表里没有特定条目指明如何到达。

php监听ip.png


此外远程服务器中如果安装了防火墙,还要放行PHP监听的端口,举例firewall

firewall-cmd --zone=public --add-port=9000/tcp --permanent   //添加放行规则

firewall-cmd --zone=public --remove-port=9000/tcp --permanent   //删除防火墙规则

firewall-cmd --reload   //重载配置


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311