我正在尝试使用 .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 配置