【问题标题】:504 gateway time-out server didn't respond in time issue504 网关超时服务器没有及时响应问题
【发布时间】:2020-05-31 04:10:59
【问题描述】:

我浏览了整个网站,看看是否可以找到解决方案,但没有找到。

我遇到了不断弹出的 504 网关超时服务器消息的问题。 我能够使用我的localhost/index.html 成功设置我的 MySQL 数据库以从我的网页中捕获数据,dbconnect.php。但是,当我尝试通过我的 Virtualbox(运行 Windows 7/10)访问它时,我不断收到 504 网关超时服务器没有及时响应的消息。我将$host namelocalhost 更改为supporthtech.hopto.org(我正在使用NOIP)。我还将 max_input_timemax_execution_time 从 120 增加到 3000。这似乎没有帮助。在我的虚拟机上,我正在使用代理服务器来模仿网络外部试图登录我的网站的人。

就像我在开头所说的那样。当我在本地设置我的网站时(使用localhost/index.html),MySQL 数据库能够成功收集信息。 任何想法将不胜感激。谢谢!

【问题讨论】:

  • 对不起,我不清楚,您是在尝试使用 phpMyAdmin 应用程序还是其他代码?我认为您在解释中没有提到任何 phpMyAdmin 文件,但是您已经标记了 phpmyadmin,因此不清楚这是与其他代码还是 phpMyAdmin 应用程序有关。
  • 我很抱歉。我说的是我的 dbconnect.php 文件。我正在使用 phpMyAdmin 应用程序连接到我的网页。我的网页询问一些信息,当客户点击“发送”时,数据将保存在 mysql 数据库中。当我将 .php 文件设置为 localhost 时,一切正常。但是当我登录到我的虚拟机并使用代理服务器(让它看起来好像我不在我自己的网络中)时,我仍然能够访问我的网页,但我得到一个“504 网关超时服务器没有响应”错误。我只是想弄清楚为什么会这样。我认为这与我的 dbconnect.php 无关
  • 好的,现在它更有意义了——但是为了做一个小的更正,你没有使用 phpMyAdmin 将它连接到你的网页。 phpMyAdmin 应用程序是管理员维护 MySQL 或 MariaDB 数据库的图形界面,您可能自己使用它来对数据库进行管理工作,但它与您的应用程序无关。您的应用程序似乎是直接与 MySQL 对话而不通过 phpMyAdmin 的 PHP 代码。
  • 代理日志中有任何提示吗?

标签: php mysql phpmyadmin apache2


【解决方案1】:

我希望您从运行数据库的同一主机上运行 Web 服务器,因此您应该继续从网页连接到“localhost”——无论您的浏览器如何连接到网页,数据库和 Web 服务器之间的连接仍然是本地的。因此,无论您在世界的哪个地方或使用哪个虚拟机,您的浏览器都应该连接到您在与数据库服务器相同的主机上运行的 Web 服务器。如果您从另一台主机访问,则无需更改用于数据库连接的 PHP 脚本的主机字符串,因为 到 Web 服务器 数据库主机并未更改。这是网络的一大优点,如果你连接到网络服务器,网络幕后发生的事情并不重要,因为对于网络浏览器,它所要做的就是与网络服务器通信; Web 服务器下的详细信息可以根据您的拓扑结构的需要复杂或简单。

这似乎是您遇到麻烦的最可能原因,因此我建议将连接主机更改回 localhost 并远程访问您的 Web 服务器本身。如果这给您带来麻烦,那么您的 Web 服务器配置(或 ISP,或路由器上的端口转发等)还有其他问题,您可以提出其他问题。

【讨论】:

  • 感谢您的解释。这对我了解一切如何协同工作真的很有帮助。正如您在上一篇文章中所说,我继续将主机字符串改回“localhost”。我认为我在之前的帖子中没有提到这一点,但我使用“NOIP”和 xamp(因为我使用 linux,所以我相信它被称为“LAMP”)。我确定你听说过这个,但是该应用程序运行着 3 个服务器。Mysql、proftd 和 apache Web 服务器。在我的 ISP 路由器上,我使用端口转发进行 HTTP。我使用了我的笔记本电脑的静态 IP 地址(服务于作为我的 apache/mysql 数据库)用于“内部主机”。
  • 更新:我让它工作了!我想在我的 db_connect.php 文件中将主机字符串改回“localhost”。我以为我以前做过?我记得为我的 $host 字符串尝试了每一个组合。也许我以为我做到了,但实际上我没有?无论如何,它现在有效,所以这很重要。我所做的是,使用 NOIP 创建一个名为“supporthtech.hotpto.org”的主机名(我将 ISP 的地址链接到我的主机名) 我的 db_connect.php 文件包含我的 $host、$password、$username、$db_name 和 $ tbl_name 以及将用户信息添加到 mysql db 的正确代码。在我使用的虚拟机上
  • (续)使用我的主机名(我使用 NOIP 创建)“supporthtech.hotpto.org”连接到我的 Web 服务器的免费代理服务器(用于测试目的)并填写正确的信息和有效。我已将我的 $host 字符串设置为我创建的主机名,但这不起作用,然后我将其设置为我的静态 pc ip,但这也不起作用。我很确定我尝试使用“localhost”作为 $host 字符串。在进行所有这些更改时,我确保重新启动 apache/mysql/proftd 服务器。我想知道我的带宽是否太慢了?我使用 5G,所以我不确定这是否是问题所在,但也许一天中的时间让它变慢了?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-28
  • 2019-07-11
  • 2021-03-03
  • 1970-01-01
  • 2011-07-29
  • 1970-01-01
  • 2017-08-21
相关资源
最近更新 更多