この記事では、Azure App Service の Web Apps 機能のオープン ソース テクノロジの問題に関するよく寄せられる質問 (FAQ) への回答を掲載しています。
この記事で Azure の問題に対処できない場合は、MSDN および Stack Overflow の Azure 関連フォーラムを参照してください。 問題をこれらのフォーラムに投稿するか、または Twitter の @AzureSupport に投稿できます。 Azure サポート要求を送信することもできます。 サポート要求を送信するには、[Azure サポート] ページで [サポートを受ける] を選択します。
PHP ロギングをオンにして PHP の問題をトラブルシューティングするにはどうすればよいですか?
PHP ログを有効にするには、次の手順に従います。
Kudu の Web サイト (
https://*yourwebsitename*.scm.azurewebsites.net
) にサインインします。上部のメニューから、[デバッグ コンソール]>[CMD] の順に選択します。
Site フォルダーを選択します。
wwwroot フォルダーを選択します。
+アイコンを選択し、次に[新しいファイル] を選択します。
.user.ini というファイル名を設定します。
. user.ini の横にある鉛筆のアイコンを選択します。
ファイルで、コード
log_errors=on
を追加します。[保存] を選択します。
wp-config.php の横にある鉛筆のアイコンを選択します。
テキストを次のコードに変更します。
//Enable WP_DEBUG modedefine('WP_DEBUG', true);//Enable debug logging to /wp-content/debug.logdefine('WP_DEBUG_LOG', true); //Suppress errors and warnings to screendefine('WP_DEBUG_DISPLAY', false);//Suppress PHP errors to screenini_set('display_errors', 0);
Azure ポータルの Web アプリのメニューで、Web アプリを再起動します。
詳細については、WordPress エラー ログを有効にするに関するページを参照してください。
App Service にホストされているアプリでの Python アプリケーション エラーをログする方法を教えてください?
アプリケーションの起動時に Python でエラーが発生した場合は、単純なエラー ページのみが返されます。 たとえば、 にします。
内部サーバー エラーが発生したため、ページを表示できません。
Python アプリケーション エラーをキャプチャするには、次の手順に従います。
Azure Portal の Web アプリで、[設定] を選択します。
[設定] タブで、[アプリケーション設定] を選択します。
[アプリ設定] の下で、次のキー/値ペアを入力します。
- キー: WSGI_LOG
- 値: D:\home\site\wwwroot\logs.txt (ファイル名を入力してください)
wwwroot フォルダーのlogs.txt ファイルにエラーが表示されます。
App Service にホストされている Node.js アプリケーションのバージョンを変更する方法を教えてください?
Node.js アプリケーションのバージョンを変更するために、次のオプションのいずれかを使用できます。
Azure ポータルで、[アプリ設定] を使用します。
Azure Portal で、Web アプリに移動します。
[設定] ブレードで、[アプリケーション設定] を選択します。
[アプリ設定] で、キーとして WEBSITE_NODE_DEFAULT_VERSION を含め、値として希望する Node.js のバージョンを指定できます。
Kudu コンソール (
https://*yourwebsitename*.scm.azurewebsites.net
) に移動します。Node.js バージョンを確認するには、次のコマンドを入力します。
node -v
iisnode.yml ファイルを変更します。 iisnode.yml ファイルのNode.jsバージョンを変更すると、iisnode が使用するランタイム環境のみが設定されます。 Kudu cmd などは、Azure ポータルの [アプリ設定] で設定されている Node.js バージョンを引き続き使用します。
iisnode.ymlを手動で設定するには、アプリのルート フォルダーにiisnode.yml ファイルを作成します。 ファイルに次の行を含めます。
nodeProcessCommandLine: "D:\Program Files (x86)\nodejs\5.9.1\node.exe"
ソース管理のデプロイ時にpackage.jsonを使用して、iisnode.yml ファイルを設定します。 Azure のソース管理デプロイ プロセスには、次の手順があります。
コンテンツを Azure Web アプリに移動します。
Web アプリのルート フォルダーに (deploy.cmd、 .deployment ファイル) がない場合は、既定のデプロイ スクリプトを作成します。
package.json ファイル > エンジンでNode.jsバージョンを指定すると、iisnode.yml ファイルが作成される配置スクリプトを実行します。
"engines": {"node": "5.9.1","npm": "3.7.3"}
iisnode.yml ファイルには、次のコード行があります。
nodeProcessCommandLine: "D:\Program Files (x86)\nodejs\5.9.1\node.exe"
App Service にホストされている WordPress アプリに "Error establishing a database connection"(データベースの接続を確立中にエラーが発生しました) というメッセージが表示されます。 このエラー操作方法トラブルシューティングしますか?
Azure WordPress アプリでこのエラーが表示された場合は、 php_errors.log と debug.logを有効にするには、「 可能な WordPress エラー ログで詳しく説明されている手順を実行します。
ログが有効になっている場合は、エラーを再現し、ログを調べて、接続が不足しているかどうかを確認します。
[09-Oct-2015 00:03:13 UTC] PHP Warning: mysqli_real_connect(): (HY000/1226): User 'abcdefghijk79' has exceeded the 'max_user_connections' resource (current value: 4) in D:\home\site\wwwroot\wp-includes\wp-db.php on line 1454
debug.logまたはphp_errors.log ファイルにこのエラーが表示された場合、アプリは接続の数を超えています。 ClearDB でホストしている場合は、 サービス プランで使用可能な接続の数確認します。
App Service にホストされている Node.js アプリをデバッグする方法は?
- Kudu コンソール (
https://*yourwebsitename*.scm.azurewebsites.net/DebugConsole
) に移動します。 - アプリケーション ログ フォルダー (D:\home\LogFiles\Application) に移動します。
- logging_errors.txt ファイルで、コンテンツを確認します。
App Service Web アプリまたは API アプリでネイティブ Python モジュールをインストールする方法を教えてください?
Azure で pip を使用すると一部のパッケージがインストールされない場合があります。 パッケージが Python パッケージ インデックスで使用できないか、コンパイラが必要な場合があります (App Service で Web アプリを実行しているコンピューターではコンパイラを使用できません)。 App Service Web アプリおよび API アプリでネイティブ モジュールをインストールする詳細については、App Service での Python モジュールのインストールに関するページを参照してください。
Git および Python の新しいバージョンを使用して Django アプリを App Service にデプロイする方法を教えてください?
Django のインストール方法の詳細については、App Service に Django アプリをデプロイするに関するページを参照してください。
Tomcat のログ ファイルはどこにありますか?
Azure Marketplace とカスタム デプロイの場合:
- フォルダーの場所: D:\home\site\wwwroot\bin\apache-tomcat-8.0.33\logs
- 関心のあるファイル:
- catalina.<yyyy-mm-dd>.log
- host-manager.<yyyy-mm-dd>.log
- localhost.<yyyy-mm-dd>.log
- manager.<yyyy-mm-dd>.log
- site_access_log.<yyyy-mm-dd>.log
ポータルの [アプリ設定] デプロイの場合:
- フォルダーの場所: D:\home\LogFiles
- 関心のあるファイル:
- catalina.<yyyy-mm-dd>.log
- host-manager.<yyyy-mm-dd>.log
- localhost.<yyyy-mm-dd>.log
- manager.<yyyy-mm-dd>.log
- site_access_log.<yyyy-mm-dd>.log
JDBC ドライバー接続エラーのトラブルシューティング方法を教えてください?
Tomcat のログに次のメッセージが表示される場合があります。
Web アプリケーション [ROOT] は JDBC ドライバー [com.mysql.jdbc.Driver] を登録しましたが、Web アプリケーションが停止したときに登録を解除できませんでした。 メモリ リークを防ぐために、JDBC ドライバーは強制的に登録解除されました
このエラーを解決するには、次の手順に従ってください。
sqljdbc*.jar ファイルを app/lib フォルダーから削除します。
カスタム Tomcat または Azure Marketplace Tomcat Web サーバーを使用している場合は、この.jar ファイルを Tomcat lib フォルダーにコピーします。
Azure portal から Java を有効にする場合 ( Java 1.8>Tomcat server を選択)、アプリと並行するフォルダー内の sqljdbc*.jar ファイルをコピーします。 次に、次の classpath 設定を web.config ファイルに追加します。
<httpPlatform> <environmentVariables> <environmentVariablename ="JAVA_OPTS" value=" -Djava.net.preferIPv4Stack=true -Xms128M -classpath %CLASSPATH%;[Path to the sqljdbc*.jarfile]" /> </environmentVariables> </httpPlatform>
ライブのログ ファイルをコピーしようとするときにエラーが発生するのはなぜですか?
Java アプリ (たとえば、Tomcat) のライブのログ ファイルをコピーしようとすると、この FTP エラーが表示される場合があります。
ファイルの転送中にエラーが発生しました [ファイル名] リモート側からファイルをコピーできませんでした。
プロセスがファイル にアクセスできません。別のプロセスでファイルが使用されています。
エラー メッセージは、FTP クライアントによって異なります。
すべての Java アプリに、このロックの問題があります。 Kudu のみが、アプリ実行中のこのファイルをダウンロードをサポートしています。
アプリの停止すると、FTP はこれらのファイルにアクセスできるようになります。
別の回避策は、スケジュールで実行されてこれらのファイルを別のディレクトリにコピーする Web ジョブを書き込むことです。 サンプル プロジェクトについては、CopyLogsJob プロジェクトを参照してください。
Jetty のログ ファイルはどこにありますか?
Marketplace とカスタムデプロイの場合、ログ ファイルは D:\home\site\wwwroot\bin\jetty-distribution-9.1.2.v20140210\logs フォルダーにあります。 フォルダーの場所は、使用している Jetty のバージョンによって異なります。 たとえば、ここで示したパスは Jetty 9.1.2 用です。 jetty_<YYYY_MM_DD>.stderrout.logを探します。
ポータルのアプリ設定のデプロイの場合、ログ ファイルは D:\home\LogFiles にあります。 jetty_<YYYY_MM_DD>.stderrout.logを探します。
Azure Web アプリから電子メールを送信できますか?
App Service には組み込みの電子メール機能はありません。 アプリから電子メールを送信するための適切な代替手段は、このスタック オーバーフローのディスカッションに関するページを参照してください。
WordPress サイトが別の URL をリダイレクトするのはなぜですか?
Azure に最近移行した場合は、WordPress が古いドメイン URL にリダイレクトする可能性があります。 この問題は、MySQL データベースの設定が原因で発生します。
WordPress Buddy + は、データベースで直接リダイレクト URL の更新に使用できる、Azure サイトの拡張機能です。
また、SQL クエリや PHPMyAdmin を使用してリダイレクト URL を手動で更新する場合、WordPress: 間違った URL へのリダイレクトに関するページを参照してください。
WordPress のサインイン パスワードを変更する方法を教えてください?
WordPress のサインイン パスワードを忘れた場合、WordPress Buddy + を使用して更新できます。
WordPress にサインインできません。 この問題を解決するにはどうすればよいですか?
プラグインを最近インストールした後に WordPress からロックアウトされた場合、そのプラグインに欠陥がある可能性があります。 WordPress Buddy + は、WordPress のプラグインを無効化できる Azure のサイトの拡張機能です。
WordPress データベースを移行する方法は?
WordPress Web サイトに接続されている MySQL データベースを移行する方法は複数あります。
- 開発者 : コマンド プロンプトまたは PHPMyAdmin を使用
WordPress をより安全にする方法を教えてください?
WordPress 用のセキュリティのベスト プラクティスについては、Azure で WordPress セキュリティのベスト プラクティスに関するページを参照してください。
PHPMyAdmin を使用しようとしていますが、"アクセスが拒否されました" というメッセージが表示されます。この問題操作方法解決しますか?
この問題は、この App Service のインスタンスで MySQL アプリ内の機能がまだ実行されていない場合に発生する可能性があります。 問題を解決するには、Web サイトにアクセスしてください。 MySQL アプリ内のプロセスを含む必要なプロセスが始まります。 アプリ内 MySQL が実行されていることを確認するには、プロセス エクスプローラーで、 mysqld.exe がプロセスに一覧表示されていることを確認します。
その MySQL アプリ内プロセスが実行されていることを確認した後、PHPMyAdmin を使用してください。
PHPMyadmin を使用して、MySQL アプリ内データベースをインポートまたはエクスポートしようとすると、HTTP 403 エラーが表示されます。 この問題を解決するにはどうすればよいですか?
以前のバージョンの Chrome を使用している場合は、既知のバグが発生している可能性があります。 この問題を解決するには、Chrome の新しいバージョンにアップグレードします。 また、Internet Explorer や Microsoft Edge など、問題が発生しない別のブラウザーを使用してみてください。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。