ホームページ >バックエンド開発 >PHPチュートリアル >PHPマスター| AppFogにCakePhpアプリを正しい方法で展開します

PHPマスター| AppFogにCakePhpアプリを正しい方法で展開します

Jennifer Aniston
Jennifer Anistonオリジナル
2025-02-25 20:10:13557ブラウズ

appfogにcakephpアプリケーションの展開:包括的なガイド

PHP Master | Deploy CakePHP Apps on AppFog the Right Way

このガイドは、もともとCloudSpringで公開されていたこのガイドは、PHPアプリケーション構造のベストプラクティスを強調しながら、サービスとしてのプラットフォーム(PAAS)であるAppFogにCakePHPアプリケーションを展開します。 シンプルなメモを取るアプリケーションを作成し、最適な展開とメンテナンスのために整理します。

重要な概念:

AppFogでの効率的なCakePhpの展開は、アプリケーションを別個のコンポーネントに構築することで実現されます。アプリケーションコード、アプリケーションデータと設定、およびライブラリ/ベンダーコード。

AppFogは展開を簡素化し、複数の言語とさまざまなインフラストラクチャプロバイダーをサポートします(Amazon AWS、HP OpenStack、Microsoft Azure、Rackspace DFW)。
    明確に定義されたディレクトリ構造は、アプリケーションコードをフレームワークとライブラリから分離し、更新、バックアップ、メンテナンスを簡素化するために重要です。
  • AppFogは、パフォーマンス監視ツール(CPU、メモリ、ネットワークトラフィック)とアラート機能を提供します。
  • appfogを始めましょう:
  • Cloud Foundryに基づいた
  • AppFogは、複数のプログラミング言語をサポートし、さまざまなインフラストラクチャプロバイダーに展開できます。 2GB RAM、10サービス(各100MB)、および50GBのデータ転送制限を提供する無料のアカウント(電子メールとパスワードが必要)にサインアップします。 また、アプリをCloud Foundry互換サービスに移行することもできます。
ローカルアプリケーションの作成:

最新のCakePHPバージョンをダウンロードして抽出します。ディレクトリの名前を変更します(例: "fognotes")。

Webサーバー(例:

)を介してアプリケーションにアクセスできるようにし、ドキュメントルートをに設定します。

空のmysqlデータベース(例えば
    )を作成します
  1. サブディレクトリ
  2. および
  3. を使用してhttp://fognotes.localディレクトリを作成します。 app/webroot
  4. に移動します。
  5. ディレクトリがWebサーバーによって書かれていることを確認してください。 fognotes_local cakePhpコンソールのシンボリックリンクを作成します:
  6. data configディレクトリ構造はこれに似ている必要があります logs この構造は、アプリケーションコード(app/tmp)、フレームワーク(data)、ライブラリ(data/logs
  7. )、およびデータ/設定(
  8. )を分離します。 ln -s lib/Cake/Console/cake cakeカスタムの一時ディレクトリを定義するには、
  9. を変更します:

次に、データベース構成を調整します。
<code>FogNotes/
    app/
    data/
        config/
        logs/
        tmp/
            cache/
            logs/
            sessions/
            tests/
    lib/
        Cake/
    plugins/
    vendors/
    cake
    index.php</code>
をコピーして

appに置き換えます

<code>FogNotes/
    app/
    data/
        config/
        logs/
        tmp/
            cache/
            logs/
            sessions/
            tests/
    lib/
        Cake/
    plugins/
    vendors/
    cake
    index.php</code>
in 、これらの行を追加して(

の後)app/Config/bootstrap.phpパスを登録します:Configure::write('Dispatcher.filters'... data/config

および
<code class="language-php"><?php
// Custom TMP directory
if (!defined('TMP')) {
    define('TMP', ROOT . DS . 'data' . DS . 'tmp' . DS);
}
?></code>

の終わりに app/Config/bootstrap.php

<code class="language-php"><?php
class DATABASE_CONFIG {
    public $default = null;
    public $test = null;
    public $env = null;

    function __construct() {
        if (!defined('APP_ENV')) return false;
        $this->env = APP_ENV;
        $config = Configure::read('Database.config');
        if (!is_array($config)) return false;
        foreach ($config as $name => $data) $this->$name = $data;
        if (empty($config['default']) || empty($this->default)) return false;
    }
}
?></code>
環境に一致するファイルを検索します(例:

Configure::load())。 サンプルは、元の記事に記載されています。data/config local.phpprod.phpappfogへの展開:local.php

新しいAppFogアプリケーションを作成します(PHPと優先プロバイダーを選択してください)。 mySQLサービス(例えば

)。
  1. 環境変数を「prod」に設定します。
  2. 作成fognotes_prodの作成、
  3. 環境変数からデータベース設定を抽出します(元の記事で詳述されています)。
  4. APP_ENVユーティリティ(appfogに提供されている手順をインストール)を使用して、ローカルコード(
  5. )をプッシュします。
  6. data/config/prod.php展開後、Tunnel()を使用してデータベーススキーマ()をリモートデータベースにインポートします。 次に、CakePhpのBakeコマンドを使用して、アプリケーションのモデル、ビュー、およびコントローラーを生成します。最後に、ルーティングを更新して、ホームページをメモに向けます。 VCAP_SERVICES
  7. を使用して再展開します
  8. 元の記事には、トラブルシューティング、スケーリング、セキュリティ、監視など、AppFogのCakePhp展開のさまざまな側面をカバーするFAQも含まれています。

以上がPHPマスター| AppFogにCakePhpアプリを正しい方法で展開しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。