【问题标题】:AWS Elastic Beanstalk - how to run php and nodejs in same ec2 instanceAWS Elastic Beanstalk - 如何在同一个 ec2 实例中运行 php 和 nodejs
【发布时间】:2015-07-16 10:03:48
【问题描述】:

我正在使用 Elastic Beanstalk 部署根应用程序 (node.js),并且还想运行 node.js 应用程序需要在同一个 ec2 实例中调用的 php 代码。

当我连接到实例时,它会说:

此 EC2 实例由 AWS Elastic Beanstalk 管理。所做的更改 如果实例被自动缩放替换,通过 SSH 将丢失。 [...]

表示当我在/var/www/文件夹(通过ssh连接)中添加php源时,如果实例发生变化,它将被删除。

我怎样才能在同一个实例 node.js 和 php 中运行?

【问题讨论】:

    标签: php node.js amazon-web-services amazon-ec2 amazon-elastic-beanstalk


    【解决方案1】:

    可能是这样的:

    **

    创建一个“.ebextensions/nodeinstall.config”文件

    **

    commands:
        node_install:
        cwd: /tmp
    
        command: 'yum install -y nodejs --enablerepo=epel'
    

    不久前我遇到了类似的情况,这对我有用。

    来源: http://qpleple.com

    【讨论】:

      【解决方案2】:

      您可以探索基于 ECS 的多容器选项,以便在每个 beanstalk 环境中运行多个容器。

      文档:

      http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_ecs.html

      http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_v2config.html

      http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_ecstutorial.html

      您希望两个应用在同一个实例上运行是否有特殊原因?

      【讨论】:

      • 我不能代表 james,但我希望做同样的事情,因为我们的后端是用 PHP 编写的,但我们希望迁移到 Node.js。通过同一个 API 网关运行两者将有利于测试并确保迁移是值得的。除非你能想出另一种方法来做到这一点......
      • 如果您打算使用 Elastic Beanstalk,我建议您创建两个独立的环境 - 一个使用 PHP 后端,另一个使用 Node.js 后端。您将为您的两个环境(或您的 ELB)中的每一个获得两个 URL。您可以设置两条 Route 53 记录,在您的两个环境中实现负载平衡。您可以使用加权记录来控制进入每个环境的流量。您可以根据权重选择每个环境中的实例数。在此处阅读有关加权记录集的更多信息:tinyurl.com/jgr9jwb
      猜你喜欢
      • 2012-09-24
      • 2017-03-31
      • 2015-10-29
      • 2014-08-22
      • 2014-01-22
      • 2018-04-29
      • 2017-10-08
      • 2019-09-03
      • 1970-01-01
      相关资源
      最近更新 更多