因此,我曾一度通过Beanstalk使用亚马逊实例(2013.09)ami-35792c5c进行此操作。当时,此扩展脚本在 .eb 扩展/ 中放置在存储库的根目录中时效果很好
00_repo.config
packages:
rpm:
pgdg-redhat93-9.3-1: 'http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm'
remi: 'http://rpms.famillecollet.com/enterprise/remi-release-6.rpm'
files:
"/etc/yum.repos.d/pgdg-93-redhat.repo":
mode: "000644"
owner: root
group: root
content: |
[pgdg93]
name=PostgreSQL 9.3 $releasever - $basearch
baseurl=http://yum.postgresql.org/9.3/redhat/rhel-6-$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-93
[pgdg93-source]
name=PostgreSQL 9.3 $releasever - $basearch - Source
failovermethod=priority
baseurl=http://yum.postgresql.org/srpms/9.3/redhat/rhel-6-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-93
commands:
epel_repo:
command: yum-config-manager -y --enable epel
remi_repo:
command: yum-config-manager -y --enable remi
01_app.config
packages:
yum:
libtiff-devel: ''
libjpeg-devel: ''
libzip-devel: ''
freetype-devel: ''
postgresql-devel: ''
gdal: ''
gdal-python: ''
geos: ''
proj: ''
libmemcached: ''
libmemcached-devel: ''
cyrus-sasl-devel: ''
zlib-devel: ''
container_commands:
01_collectstatic:
command: 'PYTHONPATH=.:..:../lib cd site/kpmkhv && ./manage.py collectstatic -c --noinput && cd ../..'
leader_only: true
02_syncdb:
command: 'PYTHONPATH=.:..:../lib cd site/kpmkhv && ./manage.py syncdb --noinput && cd ../..'
leader_only: true
03_migrate:
command: 'PYTHONPATH=.:..:../lib cd site/kpmkhv && ./manage.py migrate --noinput && cd ../..'
leader_only: true
option_settings:
- namespace: aws:elasticbeanstalk:container:python
option_name: WSGIPath
value: site/kpmkhv/wsgi.py
- namespace: aws:elasticbeanstalk:container:python:staticfiles
option_name: /static/
value: site/kpmkhv/static/
- option_name: DJANGO_SETTINGS_MODULE
value: settings_prod
因此,现在当我使用同一实例并启动我的环境时,我得到了关于依赖项的错误。
Error: Package: gdal-libs-1.9.2-5.rhel6.x86_64 (pgdg93)
Requires: libpoppler.so.5()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
看起来同一个存储库现在正在返回一个更新版本的popple,它是12. x,现在它的22. x和gdal需要旧版本。
我还在EC2实例上对此进行了测试,得到了同样的错误。但是后来我在amazon上看到了这个关于将AMI锁定到其原始存储库版本的文档。
因此,在启动时通过EC2控制台将其添加到用户选项中可以修复EC2上的问题:
#cloud-config
repo_releasever: 2014.03
当您的 Beanstalk 代表您启动 EC2 实例时,始终具有此选项的最佳方式是什么?我读到有关云初始化的信息,也许通过扩展部署的脚本将是最好的选择?
对此的任何见解都是赞赏的,谢谢。
我在2014.09堆栈上遇到了类似的问题,ami id ami-246ed34c,并解决了这样的问题:
>
我在这里和这里在线找到并下载了所需的依赖项。以下是有效的版本:
压缩了两个. rpm文件
通过yum在eb扩展/01_packages.config
中安装。我必须使用这些命令才能安装它们。
commands:
jpeg8_repo:
command: yum -y install /etc/mylibs/jpeg8/lib64jpeg8-8b-5.1.mga1.x86_64.rpm
ignoreErrors: true
poppler_repo:
command: yum -y install /etc/mylibs/poppler/lib64poppler5-0.12.4-2.1mdv2010.1.x86_64.rpm
ignoreErrors: true
所以我现在有一个在2013.09堆栈ami-35792c5c上工作的ebextensions工作流程。有关 2014.09 堆栈,请参阅其他解决方案。下面的解决方案通过安装所需的gdal组件来与postgis配合使用,00_repo.config需要如下所示:
files:
"/etc/yum.repos.d/pgdg-93-redhat.repo":
mode: "000644"
owner: root
group: root
content: |
[pgdg93]
name=PostgreSQL 9.3 $releasever - $basearch
baseurl=http://yum.postgresql.org/9.3/redhat/rhel-6-$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-93
[pgdg93-source]
name=PostgreSQL 9.3 $releasever - $basearch - Source
failovermethod=priority
baseurl=http://yum.postgresql.org/srpms/9.3/redhat/rhel-6-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-93
commands:
epel_repo:
command: yum-config-manager -y --enable epel
remi_repo:
command: yum-config-manager -y --enable remi
packages:
rpm:
pgdg-redhat93-9.3-1: 'http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm'
remi: 'http://rpms.famillecollet.com/enterprise/remi-release-6.rpm'
qt4-devel: 'http://mirror.centos.org/centos/6/os/x86_64/Packages/qt-4.6.2-28.el6_5.x86_64.rpm'
第二个扩展保持不变。这适用于亚马逊实例(2013.09)ami-35792c5c,我还没有尝试过较新的容器。
备选方案1:
如果您想减少对eb扩展文件中的repos/rpms的依赖,您可以将所有必需的rpms上传到S3并更新eb扩展“包”以指向您的s3 rpms。使用CORS标头设置您的S3存储桶以供公共获取访问。
备选方案2:
创建自定义 AMI,您可以在其中编译来自源的所有依赖项。这样就不会有 rpm 冲突,您也不必使用要自定义的 AMI 提供的默认存储库。请参阅此答案:使用 PostGIS 配置亚马逊弹性豆茎
还可以查看我制作的工具:
https://github.com/radlws/django-awseb-tasks
我对 2017.03 图像的解决方案是:
commands:
01_yum_update:
command: sudo yum -y update
02_epel_repo:
command: sudo yum-config-manager -y --enable epel
03_install_gdal_packages:
command: sudo yum -y install gdal gdal-devel
files:
"/etc/httpd/conf.d/wsgihacks.conf":
mode: "000644"
owner: root
group: root
content: |
WSGIPassAuthorization On
packages:
yum:
git: []
postgresql95-devel: []
gettext: []
libjpeg-turbo-devel: []
libffi-devel: []
问题内容: 我是Android的新手。 我正在为Android应用程序(位于现有的多模块项目中)设置一个maven模块,该模块使用Google支持库(v4,v7,v13)。使它与Maven一起使用的最合适的方法是什么。 我希望我的项目能够使用Jenkins(Maven)进行构建,因此我无法链接任何特定于IDE的项目或任何非Maven依赖项的方式。 在Jenkins中组合maven / gradle
我试图从我的windows 7机器RDP到EC2实例,但是总是得到 远程桌面无法连接到这些原因之一的远程Comupter 1.)未启用远程桌面到服务器 2.)远程计算机已关闭 3.) 远程计算机在网络上不可用。 我能够RDP其他EC2实例。另外,作为一种解决方法,我能够从其他EC2机器(而不是从我的windows7机器和网络上的其他机器)将RDP映射到subject实例中。 检查了RDP工作和RD
我试图使用AWS CDK旋转一个ec2实例,在很大程度上它工作得很好,但我希望用户数据持久化,这样它就可以在每次引导时运行...令人恼火的是,这并没有文档化(在我可以找到的任何地方),我只是不知道在哪里/如何定义它。下面是我的代码,但是由于userdata是由添加的,所以我不能添加,因为forWindows()将代码放在标记中... 我曾尝试使用及其变体,但没有成功,有人知道如何做到这一点吗? 下
问题内容: com.amazonaws.services.ec2是否包含从现有AMI创建全新EC2实例的方法?我希望通过Java SDK而不是Web管理控制台来执行此操作。 问题答案: RunInstances是方法,它应该在SDK中。
我的目标是能够使用boto3运行Python程序来访问DynamoDB,而无需任何本地配置。我一直在关注这个AWS文档https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html)使用“IAM角色”选项似乎是可行的https://boto3.amazonaws.com/v1/documentatio
我似乎没有连接到远程主机。为什么不呢? 命令行: 这就是剧本。角色create_ec2_instance创建变量,该变量在剧本的第二部分(ansible/playbook.yml)中使用: 这只是一个简单的ec2模块创建。这按预期工作。(ansible/roles/create-ec2-instance/tasks/main.yml): 我还包含了额外的透明方法,尽管这些方法非常基本(ansibl