4

mongo で動作するように AWS Elastic Beanstalk を設定しようとしています。PHP 用の mongo ドライバーをインストールし、php.ini ファイルを更新するだけです。

これを行うには、通常、EC2 に ssh して次を実行します。

sudo pecl install mongo

ただし、これにはカスタム AMI を使用する必要があり、最善の方法ではありません。

標準 AMI に必要なソフトウェアをインストールするには、構成ファイルを使用することをお勧めします。

これを行うために、私は次のことを行いました: 作成されたディレクトリ .ebextensions 作成されたファイル mongo.config

その中に次のものを入れました:

packages: 
pecl: install mongo

ただし、展開時に次のエラーが発生します。

"option_settings" in one of the configuration files failed validation. More details to follow.

'null' values are not allowed in templates

mongo 拡張機能をインストールするには、この構成ファイルをどのようにレイアウトする必要があるのでしょうか?

ここで情報を読みました: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html

しかし、私はこの特定のタスクを行う方法をよく理解していません

助けていただければ幸いです、ありがとう!:)

4

3 に答える 3

2

私はそれを理解し、私が見つけたものを共有すると思いました。優れた記事を提供してくれた Hudku ( http://blog.hudku.com/2013/02/innocuous-Looking-evil-devil.html#elastic-beanstalk.config ) に感謝します。

1) myapp.config を作成します 2) 以下を入力します

packages:
    yum:
        dos2unix: []


container_commands:
    01-command:
        command:        rm -rf /myapp/ebextensions

    02-command:
        command:        mkdir -p /myapp/ebextensions

    03-command:
        command:        cp -R .ebextensions/* /myapp/ebextensions/

    04-command:
        command:        dos2unix -k /myapp/ebextensions/mongo.sh

    05-command:
        command:        chmod 700 /myapp/ebextensions/mongo.sh

    06-command:
        command:        bash /myapp/ebextensions/mongo.sh

次に、mongo.sh ファイルを作成し、次のように配置します。

#!/bin/bash

if [ ! -f /mongostatus.txt ];
then
    pecl install mongo
    echo "mongo extension installed" > /mongostatus.txt
    apachectl restart
fi

これにより、mongo php 拡張機能がインストールされ、Apache が再起動されるため、インストールが有効になります。

于 2013-03-20T08:57:00.237 に答える