我认为最好用代码来解释这一点。从网络目录:
vi get.php
将此 php 添加到 get.php
<?
echo file_get_contents("http://IPOFTHESERVER/");
?>
IPOFTHESERVER 是运行 nginx 和 PHP 的服务器的 IP。
php get.php
返回该 IP 托管的(默认)网站的内容。但
http://IPOFTHESERVER/get.php
..返回一个504网关超时。卷曲也是如此。使用 PHP exec 命令和 GET 是一样的。但是,直接从命令行一切正常。
我已将其复制到 2 台 nginx 服务器上。由于某种原因,nginx 不允许我通过 PHP 与其运行的服务器建立 HTTP 连接(除非是通过命令行)。
有人知道为什么吗?
Thanks!
检查您是否在 PHP 方面遇到工作人员耗尽问题,这是我的实验室服务器设置的问题,该服务器配置为节省 RAM。
基本上我忘记了您使用单个工作人员来处理显示给最终用户的主页,然后 get_file_contents() 函数基本上会向同一 Web 服务器生成单独的 HTTP 请求,实际上需要 2 个工作人员来加载单个页面。
由于第一页正在使用最后一个工作程序,因此没有可用的 get_file_contents 函数,因此 Nginx 最终在第一页上回复了 504,因为反向代理请求没有回复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)