PHP - Amazon Elastic Beanstalk - 获取私有 IP 地址
PHP - Amazon Elastic Beanstalk - Get private IP address
我在 Amazon Elastic Beanstalk (EB) 中托管一个 Web 应用程序。 Web 应用程序是用 php 编写的。 EB 还使用弹性负载均衡器 (ELB)。 Web 应用程序与客户端实现一个 websocket。
这是我到目前为止所做的:
- 我知道我必须监听私有 ip,而不是实例的 127.0.0.1 才能工作
- 在负载均衡器中实现了一个侦听器以连接到实例端口
- 为安全组中的端口打开了入站和出站流量。
如果EB部署进行横向扩展(增加实例数),扩展后实例的私有ip是否保持不变(请解释)?如果没有,我相信是这样,我如何获得为客户端服务的当前实例的私有 IP 地址?
到目前为止,它运行完美,没有任何问题,但只有一个实例 运行。我尝试列出客户端,我可以通过列表获取私有 ips,但我不知道如何识别当前为文件提供服务的实例。
请帮帮我。
这样做就可以了:
<?php $ip = shell_exec('hostname -i'); ?>
重要提示: 这仅适用于 linux 环境。对于 windows,hostname -i
无效。你可以参考https://superuser.com/questions/382265/进一步的想法。
我在 Amazon Elastic Beanstalk (EB) 中托管一个 Web 应用程序。 Web 应用程序是用 php 编写的。 EB 还使用弹性负载均衡器 (ELB)。 Web 应用程序与客户端实现一个 websocket。 这是我到目前为止所做的:
- 我知道我必须监听私有 ip,而不是实例的 127.0.0.1 才能工作
- 在负载均衡器中实现了一个侦听器以连接到实例端口
- 为安全组中的端口打开了入站和出站流量。
如果EB部署进行横向扩展(增加实例数),扩展后实例的私有ip是否保持不变(请解释)?如果没有,我相信是这样,我如何获得为客户端服务的当前实例的私有 IP 地址?
到目前为止,它运行完美,没有任何问题,但只有一个实例 运行。我尝试列出客户端,我可以通过列表获取私有 ips,但我不知道如何识别当前为文件提供服务的实例。
请帮帮我。
这样做就可以了:
<?php $ip = shell_exec('hostname -i'); ?>
重要提示: 这仅适用于 linux 环境。对于 windows,hostname -i
无效。你可以参考https://superuser.com/questions/382265/进一步的想法。