問題タブ [cleardb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - Azure WordPress インスタンスを使用して、Traffic Manager と CDN で geo ロード バランシングを行うにはどうすればよいですか
問題: MySQL データベース用の ClearDB を使用して、Azure にセットアップされた WordPress のスケーラブルなインスタンス (VM ではなく、Microsoft Azure の事前構成された WordPress Web アプリケーション インスタンス) があります。Azure BLOB ストレージ WordPress プラグインをテストしましたが、Azure ストレージがセットアップされている CDN からのデータを表示するように機能します。
さまざまな地域の場所での需要を満たすために、WordPress インスタンスをスケールアップできるようにしたいと考えています。現在、私たちのセットアップ (Azure ではなく、異なる地理的データ センターで Ultima によってホストされている 4 つの VM を使用) には、ステージング サーバー (米国内) と、EU、AU、および米国内の 3 つの地域サーバーがあります。さまざまな地域で需要が増加するにつれて (3 つ以上でも問題ありません。特定の国に到達できる場合は素晴らしいことです)、WordPress サイトのインスタンスをその地域でスピンアップし、ユーザーが要求を行っているサーバーに最も近いサーバーに誘導する必要があります。彼らの地域。
Traffic Manager を使用してリージョンを定義し、サーバー インスタンスにそのリージョン内の別のインスタンス ノード (VM ではない) を起動するように指示するにはどうすればよいですか?
そのリージョンのノードがそのリージョンに最も近い ClearDBのコピーを使用していることを確認するにはどうすればよいですか(すべての Web フロント エンド
が米国リージョンの 1 つの場所にある DB にアクセスするのは望ましくありません)Traffic Manager を使用して、CDN (Azure ストレージ) からプルされたデータが、
要求されたリージョンに最も近いノードからプルされることを確認するにはどうすればよいですか?
ステージング サーバーをセットアップしてパブリック ノードに公開し、地域固有の場所での需要に合わせてスケールアップするにはどうすればよいですか?
現在、グローバルな WordPress フェールオーバー セットアップがどのように行われているかをお読みいただければ、私の質問はより理にかなっています。
現在の構成とバック ストーリー 現在、次のように、3 つの地域の場所でホストされているさまざまな Ultima がホストする VM で、WordPress サイトをグローバルにセットアップしています。
4 サーバー
- ステージング- 米国のオフィスの近くにあるローカル ステージング サーバー VM
- EU - EU 地域で Ultima がホストするヨーロッパのサーバー。ステージング サーバーの Hyper-V インスタンスです。
- AU - AU 地域で Ultima がホストするオーストラリアのサーバー。ステージング サーバーの Hyper-V インスタンスです。
- US - 米国地域で Ultima がホストする北米サーバー。ステージング サーバーの Hyper-V インスタンスです。
WordPress:バージョン4.0.1 がすべてのバージョンにインストールされています (マルチサイトではありません)続く:
- DB_NAME
- DB_USER
- DB_PASSWORD
- DB_HOST
- WP_HOME
- WP_SITEURL
例: 当社の EU サーバー IE eu.contoso.com に対する要求では、一致する CASE ステートメントにこれらの値が含まれます。
理由:これにより、ユーザーは別のリクエスト ポイントから WordPress サイトに入り、そのリージョンの DB への DB アクセスを適切に設定し、URL をリージョン固有のルート ドメインで書き換えることができます。すべてのケースのすべてのプロファイルは、すべてのサーバーの wp-config.php ファイルに存在するため、サーバー間で同一です。
MySQL: ステージングからグローバル リージョナル サーバーへのマスター/スレーブ レプリケーション (各サーバーの my.ini 内) での MySQL サーバー セットアップのバージョン 6
- ステージング- GTID を使用してマスター サーバーとしてセットアップし、グローバル リージョナル サーバーへの一方向のレプリケーション同期を行います。
- EU、AU、US - すべて読み取り専用モードでスレーブとして設定。ステージング サーバーからのレプリケーションの更新を受け入れますが、ローカルで送信されたデータを公開することはできません。
ファイル ストレージ: これは、Web サイト ディレクトリ、WordPress コンテンツ ディレクトリ (プラグイン、テーマ、アップロードなど) です。
Syncovery という製品を使用して、これらのフォルダーを監視し、変更を検出して、FTP 経由でファイルを他のサーバーの同様のフォルダーに自動的に同期します。
Syncovery が変更を検出するのに時間がかかりすぎる場合、BeyondCompare を手動同期に使用します。
トラフィック ルーティング: EdgeDirectorと 呼ばれる DNS サービスを使用します。これは、要求している IP から地域を検出し、要求しているユーザーをその地域に最も近いサーバーにルーティングします。
防止したいこと 現在、ファイルの同期に問題があります (データベースの複製は問題なく、問題はありません)。当社の同期プログラムは、何十万ものファイルを常にスキャンして同期する必要があり、ファイルの変更が検出されると、スキャンが開始され (時間がかかります)、検出されたファイルの相違点がコピーされます (ファイル サイズによっては時間がかかります)。 )。スキャンが開始された後に別のファイルまたはフォルダーが変更された場合、最初のスキャン/ファイルのコピーが完了するまで待つ必要があります。これにより、公開されたコンテンツをステージング サーバーからパブリック クラスターにプッシュする際に長い遅延が発生しています。
また、4 つの異なるインスタンス/サーバーを維持する必要もありません。地域固有の場所での需要に基づいてパブリッシュし、スケールアップ/ダウンするステージング インスタンスとパブリック インスタンスが最大で 1 つ必要です。
- ステージング/パブリック インスタンスのセットアップは Azure でどのように機能しますか?
- ステージング インスタンスとパブリック インスタンスの両方を構成するにはどうすればよいですか? サーバー名とDB名以外はまったく同じだと思います。
- ステージングからパブリックに公開する変更を実行するにはどうすればよいですか?
上記の需要に基づいて、さまざまな地域でグローバルに利用できるスケーラブルな WordPress サイトを作成する簡単な方法はありますか? 私は Azure を初めて使用し、古い方法論が新しいクラウド環境で必ずしも最適であるとは限らないことに気付きました。
WordPress サイトを Azure で運用する方法についてはよく理解しており、ClearDB と Azure BLOB Storage を使用して動作するインスタンスを既に持っています。現在のセットアップのように地域的に拡張する方法、または地域的に多様な地域のユーザーの需要を満たす新しい方法を知りたいだけです。ユーザーは常に最も近いサーバーにアクセスし、必要に応じて自動的にプロビジョニングおよびスケールアップされます。発生します。
php - ClearDb + Azure: バニラ フォーラムのインストールが非常に遅い
cleardb mysql データベースを使用して、バニラ フォーラム (php) を Azure Web サイトに移行しました。
動作していますが、以前のインストールと比較して、ページの読み込みに関してパフォーマンスがひどいです。遅いのはデータベース接続だと思いますが、キャッシュが機能していない可能性がありますか?
問題を調査/解決するために私ができることについての指針はありますか? それがcleardbの問題であることを証明する方法について何か提案はありますか?
cleardb と Azure を使用していて、パフォーマンスの問題があった人はいますか?
/ニールス
php - localhost から Heroku Clear DB に mysql DB をアップロードします。
ClearDB アドオンと言語として PHP を使用して、heroku でアプリを作成します。Heroku-ClearDB ドキュメント ガイドラインに従って、PHPMyAdmin を使用して MySQL で作成された既存の localhost-DB をアップロードしようとしました ->
コンソールで実行します:
すべて問題ないように見えますが、heroku でアプリに移動し、ダッシュボードで DB を選択すると、DB は空です。
私が間違っていることは何ですか?
ありがとう。
php - Heroku でホストされている ClearDB とやり取りできない
だから私はこのような接続を設定しています:
次に、データベースのダンプ (localhost.sql) を作成し、次のように実行しています。
この後、エラーは発生しません。
しかし、他には何もありません: http://ajaxaddressbook.herokuapp.com/
表示されるデータがあるはずですが、何かを追加しようとすると、次のエラーが表示されます。
GET http://ajaxaddressbook.herokuapp.com/contacts.php 500 (内部サーバー エラー)
POST http://ajaxaddressbook.herokuapp.com/add_contact.php 500 (内部サーバー エラー)
これは、たとえば、連絡先を追加しようとしている方法です(PDOを使用しています):
すべてを確認しましたが、ローカルホストでは問題なく動作していますが、Heroku でホストされている ClearDB に接続しようとしても動作しません。
ps私はcomposer.jsonにこれを持っています:
pss ここに私の PDO クラスがあります:
psss 私はこの PDO 例外をキャッチしました:
ダンプが実行されていないようで、Heroku サーバーのデータベースは空ですか?
mysql - Bluemix ClearDB MySQL の容量制限
Bluemix カタログの MySQL ClearDB サービスは、非常に限られた容量 (5MB および 4 接続) の 1 つのプランで無料で提供されます。大容量の mysql db を必要とするアプリケーションの推奨事項はありますか? Heroku 上のデータベースと Bluemix 上のアプリでハイブリッド アプリケーションを実行する必要がありますか? ありがとう
php - IISでPHPアプリのDELETE、PUTを有効にする方法は?
要求はローカルでは正常に機能しますがDELETE
、アプリを MS Azure にデプロイすると機能しません。
レコードを削除しようとすると、コンソールに次のように表示されます。
私のアプリはで使用mySQL
しますcleardb
このような問題を解決するにはどうすればよいですか?
編集
web.config
私のアプリはPHP 5.5アプリです.DELETEとPUTを有効にするために私がやろうとしたことは次のとおりですが、うまくいきませんでした: