【问题标题】:AWS Elastic Beanstalk: Reload configs files without redeploying the whole app?AWS Elastic Beanstalk:重新加载配置文件而不重新部署整个应用程序?
【发布时间】:2016-06-03 06:06:23
【问题描述】:

有没有办法在不使用eb deploy 重新部署整个应用程序的情况下加载 .ebextention 中的内容?看来重启 Apache 还不够。

配置文件示例:

container_commands:
  01_remove_old_cron_jobs:
    command: "crontab -r || exit 0"
  02_cronjobs:
    command: "cat .ebextensions/cron_jobs.txt > /etc/cron.d/cron_job && chmod 644 /etc/cron.d/cron_job"
    leader_only: true
  03_setup_apache:
    command: "cp .ebextensions/enable_mod_deflate.conf /etc/httpd/conf.d/enable_mod_deflate.conf"

【问题讨论】:

    标签: apache amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    简单的答案是否定的。配置文件仅在部署时作为 EB 脚本管道的一部分执行。如果您只想执行一次操作,只需eb ssh 实例并手动执行这些操作。下次部署时,它们将通过您的配置文件自动完成。

    【讨论】:

      【解决方案2】:

      您可以添加另一个 container_commands 例如:

      04_reload_files:
          command: "sudo service httpd reload"
      

      请注意,这适用于 Amazon Linux,但不适用于您需要执行的 Amazon Linux 2:

      04_reload_files:
          command: "sudo systemctl reload httpd.service"
      

      AWS 有一种新的首选方式在部署期间使用以下结构(对于 apache)而不是 .ebextensions 与网络服务器配置进行交互:

      ~/workspace/my-app/
      |-- .ebextensions
      |   -- httpd-proxy.config
      |-- .platform
      |   -- httpd
      |      -- conf.d
      |         -- port5000.conf
      |         -- ssl.conf
      -- index.jsp
      

      更多信息在这里:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html

      【讨论】:

        猜你喜欢
        • 2016-09-05
        • 2017-05-11
        • 2010-09-15
        • 2013-10-28
        • 2018-09-13
        • 2021-02-11
        • 2017-08-01
        • 2020-04-29
        • 2012-09-24
        相关资源
        最近更新 更多