我正在尝试使用 .ebextensions 配置在弹性 beanstalk 上安装 pdftk 服务器,但无法安装

Posted

技术标签:

【中文标题】我正在尝试使用 .ebextensions 配置在弹性 beanstalk 上安装 pdftk 服务器,但无法安装【英文标题】:I am trying to install pdftk server on elastic bean stack using .ebextension configuration but not able to install 【发布时间】:2021-09-12 10:50:22 【问题描述】:

我正在尝试使用 .ebextension 配置在弹性 bean 堆栈上安装 pdftk 服务器,但无法安装。

我正在 .ebextension 文件夹中尝试以下配置文件。请帮帮我

  # Install PDFtk
  01_wget_pdftk:
  command: "sudo wget https://hone-compiled-packages.s3.eu-central-1.amazonaws.com/pdftk-pdfw-2.02-1.x86_64.rpm"
  ignoreErrors: false
  02_install_pdftk:
  command: "sudo rpm -ivh pdftk-pdfw-2.02-1.x86_64.rpm"
  ignoreErrors: false

我尝试了以下链接,但对我没有帮助。

https://***.com/a/61943622/7532917

Aws Elastic beanstalk ebextensions not working when new instance is getting spinned

https://honesoftware.com/blog/install-pdftk-on-an-aws-elasticbeanstalk-environment

AWS ElasticBeanstalk .ebextensions not being executed

【问题讨论】:

【参考方案1】:

您的问题可能是空格。该文件是一个 YAML 文件。如果您的复制/粘贴准确,它将无法解析文件,因为空格在 YAML 文件中非常重要。

您没有提供您所针对的平台,尽管这可能与您正在做的事情无关。为了快速测试这一点,我在 Elastic Beanstalk 的 AWS 区域中创建了一个 python 3.8 环境。我开始从以下位置下载示例配置:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/tutorials.html - 我使用了 python.zip 文件,但就像我提到的,我实际上并没有修改任何 python 代码。

我第一次部署时没有进行任何更改以确保它出现。它在网络浏览器的 80 端口上响应。然后我添加了我的 SSH 密钥(在配置-> 安全性下)屏幕。我能够成功地通过 SSH 进入盒子并确认没有安装 pdftk。

我解压了 python.zip 文件并在 .ebextensions 目录中添加了一个名为 01pdftk.config 的新配置文件,内容如下:

commands:
  01_wget_pdftk:
    command: "sudo wget https://hone-compiled-packages.s3.eu-central-1.amazonaws.com/pdftk-pdfw-2.02-1.x86_64.rpm"
    cwd: "/root"
    ignoreErrors: false
  02_install_pdftk:
    command: "sudo rpm -ivh /root/pdftk-pdfw-2.02-1.x86_64.rpm"
    cwd: "/root"
    ignoreErrors: false

空格很重要!然后我重新压缩它(确保当我打开 zip 时 .ebextensions 目录位于 zip 的根目录)并使用上传和部署按钮上传到 AWS。我上传了 zip,稍等片刻等待它应用,然后通过 SSH 进入盒子以确认它已安装。

[ec2-user@ip-XXX-XXX-XXX-XXX ~]$ sudo ls /root
pdftk-pdfw-2.02-1.x86_64.rpm
[ec2-user@ip-XXX-XXX-XXX-XXX ~]$ rpm -qa | grep pdftk
pdftk-pdfw-2.02-1.x86_64

如您所见,pdftk 已安装。

【讨论】:

以上是关于我正在尝试使用 .ebextensions 配置在弹性 beanstalk 上安装 pdftk 服务器,但无法安装的主要内容,如果未能解决你的问题,请参考以下文章

使用 .ebextensions 创建 WaitConditionHandle

使用 ebextensions 配置在弹性 beantalk 上安装 ffmpeg

我应该在配置文件 (.ebextensions) 或保存的配置下放置弹性 beanstalk 选项吗?

无法通过 .ebextensions 文件更改 AWS 中的 tomcat 配置

AWS Elastic Beanstalk - .ebextensions

AWS codeBuild 不运行 .ebextension 配置