AWS Elastic Beanstalk:重新加载配置文件而不重新部署整个应用程序?
Posted
技术标签:
【中文标题】AWS Elastic Beanstalk:重新加载配置文件而不重新部署整个应用程序?【英文标题】:AWS Elastic Beanstalk: Reload configs files without redeploying the whole app? 【发布时间】: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"
【问题讨论】:
【参考方案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
【讨论】:
以上是关于AWS Elastic Beanstalk:重新加载配置文件而不重新部署整个应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk Tomcat - 内存使用率高
将应用程序部署到 AWS Elastic Beanstalk 环境
AWS Elastic Beanstalk:通过缓存避免在 EB 应用程序更新时重新下载应用程序的静态文件
AWS Elastic beanstalk - 更改解决方案堆栈名称