Elastic Beanstalk:自定义 Puma 配置
Elastic Beanstalk: customize Puma configuration
Ruby + Puma 的当前 Beanstalk 解决方案堆栈使用位于 /opt/elasticbeanstalk/support/conf/pumaconf.rb
的配置文件并忽略 Rails 应用程序目录中的 config/puma.rb
。
我可以通过 .ebextensions
用自定义文件覆盖上面的文件,但我很犹豫,因为我想避免损坏,以防 PID 的路径或 - 更重要的是 - unix 套接字文件在即将到来的变化中发生变化解决方案堆栈版本。
在 Beanstalk 上自定义 Puma 配置的最佳实践是什么?
我们使用 Ruby+Passenger,但这听起来与您的情况非常相似。我们需要自定义存储在 /opt/elasticbeanstalk/support/conf/nginx_config.erb
的 nginx 配置文件,所以我们通过 .ebextensions
和 sed
.
来完成
这是一个让您入门的示例:
.ebextensions/01-edit-nginx.config
container_commands:
01backup_config:
command: "cp -n /opt/elasticbeanstalk/support/conf/nginx_config.erb /opt/elasticbeanstalk/support/conf/nginx_config.erb.original"
02edit_config:
command: "sh -c \"sed '/string_to_insert_text_after/ i\
\ text_to_be_inserted;' /opt/elasticbeanstalk/support/conf/nginx_config.erb.original > /opt/elasticbeanstalk/support/conf/nginx_config.erb\""
这将制作配置文件的备份副本(如果它已经存在则不会覆盖它,感谢 -n
标志)然后在行 [=27] 之后插入行 "text_to_be_inserted" =].您可以通过管道将多个 sed
命令组合在一起以插入多行。
在 Amazon Linux 2 上,您可以使用 Procfile
来执行此操作,例如
web: puma -C /var/app/current/config/puma.rb
有关详细信息,请参阅 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ruby-platform-procfile.html 上的文档。
Ruby + Puma 的当前 Beanstalk 解决方案堆栈使用位于 /opt/elasticbeanstalk/support/conf/pumaconf.rb
的配置文件并忽略 Rails 应用程序目录中的 config/puma.rb
。
我可以通过 .ebextensions
用自定义文件覆盖上面的文件,但我很犹豫,因为我想避免损坏,以防 PID 的路径或 - 更重要的是 - unix 套接字文件在即将到来的变化中发生变化解决方案堆栈版本。
在 Beanstalk 上自定义 Puma 配置的最佳实践是什么?
我们使用 Ruby+Passenger,但这听起来与您的情况非常相似。我们需要自定义存储在 /opt/elasticbeanstalk/support/conf/nginx_config.erb
的 nginx 配置文件,所以我们通过 .ebextensions
和 sed
.
这是一个让您入门的示例:
.ebextensions/01-edit-nginx.config
container_commands:
01backup_config:
command: "cp -n /opt/elasticbeanstalk/support/conf/nginx_config.erb /opt/elasticbeanstalk/support/conf/nginx_config.erb.original"
02edit_config:
command: "sh -c \"sed '/string_to_insert_text_after/ i\
\ text_to_be_inserted;' /opt/elasticbeanstalk/support/conf/nginx_config.erb.original > /opt/elasticbeanstalk/support/conf/nginx_config.erb\""
这将制作配置文件的备份副本(如果它已经存在则不会覆盖它,感谢 -n
标志)然后在行 [=27] 之后插入行 "text_to_be_inserted" =].您可以通过管道将多个 sed
命令组合在一起以插入多行。
在 Amazon Linux 2 上,您可以使用 Procfile
来执行此操作,例如
web: puma -C /var/app/current/config/puma.rb
有关详细信息,请参阅 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ruby-platform-procfile.html 上的文档。