gpt4 book ai didi

amazon-web-services - AWS EC2 实例上的 Websocket 服务器在两天不活动后没有响应

转载 作者:行者123 更新时间:2023-12-04 08:08:05 24 4
gpt4 key购买 nike

  1. 我们使用 AWS EC2(ubuntu-xenial-16.04-amd64-server) 实例来运行 PHP Websocket 服务器。
  2. 我们正在使用以下命令,以保持 WebSocket 服务器持续运行。

    nohup php -q server.php >/dev/null 2>&1 &

  3. 它在长达两天的时间里运行得非常好。但是如果没有客户最近两天连接到WebSocket服务器,自动停止响应。

  4. 我使用此命令 (lsof -i:9000) 检查了 WebSocket 端口的状态。我得到了以下输出 (5&6)

  5. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

  6. php 1467 ubuntu 4u IPv4 17137 0t0 TCP *:9000 (LISTEN)

  7. 似乎 WebSocket 服务器正在运行。但是客户端(即移动应用程序)无法连接。

    这个问题背后有什么具体原因吗?我们无法找出确切的问题。

最佳答案

您需要为 SO 社区提供更多信息才能帮助您。

让我们看看您的基础架构的层,以有根据地猜测问题可能出在哪里。

我们有:

  • 外部连接器(移动应用程序)
  • 充当服务器(接收器)的 PHP 脚本。
  • 操作系统(Ubuntu)

操作系统内核可以因各种不当行为而终止正在运行的进程。最常见的 OOM killer (内存不足)。

PHP 脚本无响应的情况并不少见,尤其是在涉及流(套接字)编程时,我们需要查看该代码。

你说这两天一切都很好,所以我们可以排除外部连接器问题,并专注于资源管理不善的问题:垃圾收集、内存泄漏、流泄漏等。一些外部进程正在杀死你的 PHP脚本或 PHP 脚本本身变得无响应。

调查应从:

  1. 共享server.php,然后移动到
  2. 日志分析。

关于amazon-web-services - AWS EC2 实例上的 Websocket 服务器在两天不活动后没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41826083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com