Kin*_*ina 6 amazon-ec2 amazon-web-services amazon-elastic-beanstalk
仅供参考......这里的上下文是AWS Elastic Beanstalk。我正在尝试在 64 位 Amazon Linux 2015.03 v1.4.3(客户 AMI ID 为)上安装音频波形程序ami-6b50291c
。运行这个...
$ sudo yum install git cmake libmad-devel libsndfile-devel gd-devel boost-devel
Run Code Online (Sandbox Code Playgroud)
... 成功安装除libmad-devel
and之外的所有软件包libsndfile-devel
。以下是相关输出...
Failed to set locale, defaulting to C
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main/2015.03 | 2.1 kB 00:00
amzn-updates/2015.03 | 2.3 kB 00:00
Package git-2.1.0-1.38.amzn1.x86_64 already installed and latest version
Package cmake-2.8.12-2.20.amzn1.x86_64 already installed and latest version
No package libmad-devel available.
No package libsndfile-devel available.
Package gd-devel-2.0.35-11.10.amzn1.x86_64 already installed and latest version
Package boost-devel-1.53.0-14.21.amzn1.x86_64 already installed and latest version
Nothing to do
Run Code Online (Sandbox Code Playgroud)
也就是说,这不是 audiowaveform 的问题......所有这一切都意味着为 Amazon Linux AMI 启用的存储库没有libmad-devel
并且libsndfile-devel
默认情况下。我想我可能不得不简单地添加我自己的来源。
还要注意的是,不yum
存在任何包,audio waveform
因此我必须手动构建它。
获取源码...
$ git clone https://github.com/bbcrd/audiowaveform.git
$ cd audio waveform
Run Code Online (Sandbox Code Playgroud)
然后构建并安装...
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
Run Code Online (Sandbox Code Playgroud)
问题 1
在 AWS EB 上……EC2 实例被配置为使用没有上述包的 Amazon 源,即libmad-devel
和libsndfile-devel
。添加这些包以便它们可供使用的推荐方法是yum
什么?
我强调推荐,因为我觉得改变亚马逊的来源可能不是最好的方法。也没有添加可能与亚马逊的包裹冲突的另一个来源……等等等等……
问题2
假设我能够安装libmad-devel
和libsndfile-devel
. 我仍然需要手动构建它,因为没有audiowaveform
. 在 AWS EB 上,我可以编写一个脚本来执行此操作,因为每个实例正在被实例化……但我觉得这并不理想、速度慢且有点容易出错。有人对我如何做得更好有建议吗?
可能准备一个基于ami-6b50291c
. 想法?
核心目标
我不必使用audiowaveform
......我的目标实际上是提取某些音频(MP3)的峰值点。我将把它设置为一个单独的问题。
Amazon Elastic Beanstalk 上可以安装的软件往往受到很大限制。我通过对我的应用程序环境进行docker化来解决这个问题。现在即使在 Elastic Beanstalk 上也可以实现这一点。
\n\n详细了解 Elastic Beanstalk 对 Docker 的支持...
\n\n\n\n\nAWS Elastic Beanstalk 让您可以轻松地在 AWS 云中部署和管理应用程序。上传应用程序后,Elastic Beanstalk 将预置、监控和扩展容量(Amazon EC2 实例),同时在所有运行状况良好的实例之间对传入请求进行负载平衡。
\n\nDocker 以轻量级、可移植、自给自足的容器的形式自动部署应用程序,这些容器可以在各种环境中运行。可以从预构建的 Docker 映像或称为 Dockerfile 的简单配方来填充容器。
\n\nDocker\xe2\x80\x99s基于容器的模型非常灵活。例如,您可以在本地构建和测试容器,然后将其上传到 AWS 云以进行部署和可扩展性。Docker\xe2\x80\x99s 自动化部署模型可确保应用程序的运行时环境始终正确安装和配置,无论您决定在何处托管应用程序。
\n
这样......您可以在容器中执行任何您想要的操作,并且该容器将在 Amazon Linux AMI 实例提供的内核上运行(显然是完全隔离的)。
\n 归档时间: |
|
查看次数: |
1570 次 |
最近记录: |