問題タブ [dotcloud]
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.
django - DjangoとNginx
私はdotcloudでウェブサイトを運営しています。nginxを使用して静的コンテンツとhtmlページの両方を提供し、djangoを使用してajaxリクエストのjsonを提供しています。
ここで特に言及されていないものはすべてdjangoに渡され、エラーが発生するようであるため、nginx.confファイルの構成に問題があります。
たとえば、ユーザーが「概要」ページにアクセスしたい場合、ブラウザにwww.example.com/aboutと入力します。djangoがまったく関与せずに、nginxがabout.htmlをサーバーに戻すようにします。これどうやってするの?私は次のことを試しました:
しかし、これはうまくいかないようです。私はここで何か間違ったことをしていますか?
助けてくれてありがとう。
django-orm - Dotcloud:manage.pyバックグラウンドサービスを実行しています
APIキーによってレート制限されているWebAPIにアクセスする必要があるDjangoアプリケーションがあります。APIへのリクエストを管理するために、Django ORMでキューに入れられたタスクリクエストをポーリングし、アプリサーバーに対して非同期で実行するシンプルなバックグラウンドサーバーを作成しました(アプリサーバーは結果をブロックする必要はありません)。ワーカーサーバーは、カスタムのmanage.pyコマンドを使用して起動されます。これらの外部ルックアップの処理要件は非常に最小限であるため、メインのWebサービスから直接実行したいと思います。私はすでにその場しのぎのミューテックスでそれをリギングしているので、私のアプリケーションがスケーリングするとき、これらのワーカーサーバーの1つだけが実行されます。
アプリケーションをデプロイするときに、このワーカーサーバーを自動的に起動するための最良の方法を見つけようとしています。これをコマンドとしてsupervisord.confファイルに追加しようとしましたが、エラーで失敗しましたImportError: No module named django.core.management
。これは、Djangoがインストールされている仮想環境でsupervisordが実行されていないためだと思います。そこで、postinstall
フックから別のsupervisordのコピーを実行してみました。これにより、すべてのコマンドが完了するのを待ってから終了するため、展開が失敗し、postinstall
タイムアウトになります。
これらのアプローチのいずれか、または機能する可能性のある別のアプローチを修正する方法はありますか?python-worker
別のサービスを作成しても、同様の問題が発生するようです。
nginx - DotCloudのCORS、411の長さが必要
tl; dr:DotCloudで実行されているnginxからの「411Lengthrequired」エラーを回避するにはどうすればよいですか?
DotCloudプラットフォームにPythonサービスとしてデプロイされたCORSサポート付きのAPIがあります。私のjavascriptクライアントがそれにアクセスしようとすると、ブラウザはOPTIONSリクエストで起動しますが、411に戻ります。
DotCloudのnginxは、本文が空のHTTPリクエストを好まないようです。「Content-Length:0」ヘッダーを追加するか、chunkin
モジュールを使用しようとする提案を見てきましたが、どちらも実行できません。
- ブラウザがOPTIONSリクエストに追加するHTTPリクエストヘッダーを制御していません
- DotCloudにサードパーティのnginxモジュールをインストールできないと思います。できたとしても、リクエストに「Transfer-encoding:chunked」ヘッダーがないため、これは役に立たない可能性があります
この問題を回避する方法はありますか?
アップデート:
以下を入れるとnginx.conf
、私の当面の問題は解決します。チャンキンと同様に、リクエストメソッドが。の場合、411エラーをトラップし、既定の応答を返しますOPTIONS
。このリポジトリで出くわしました。
これらの応答をnginx構成ではなくPythonコードで処理したいので、理想的ではありません。また、DELETEリクエストとHEADリクエストには、今後問題が発生することが予想されます。これらにもリクエスト本文はありません。
node.js - DotCloud: アプリケーションが応答しない
dotcloud が実際に機能することを確認しようとしていますが、機能させることができませんでした。https://github.com/sebm/MongoPop.gitのクローンを作成してプッシュしました dotcloud.yml を追加しました
API: タイプ: nodejs モンゴ: タイプ: mongodb
それなしではプッシュしていないように見えたので、URLにアクセスしようとしたところ、アプリケーションが応答していないというエラーが発生しました。http://2a6ad2ac.dotcloud.com/のようなものを取得する必要があります
dotcloud を使用したいのですが、実際に動作するのを見ることができませんでした。
plone - dotcloudでPloneを実行する(uwsgiを使用しない)
プランA-uwsgi経由でPlone
dotcloudにwsgi経由でploneをデプロイしようとしています。
これまで、dotcloudツールをインストールし、すべての要素をdotcloudに正常にデプロイするgitリポジトリを作成しました。githubを使用して、関連するすべての構成を保存します。試してみたい場合は、現在デプロイに使用しているコマンドを次に示します。
デプロイ後、(dotcloudインスタンスに「sshing」した後)次のコマンドでpasterを使用してスタックを起動できることを確認できました。
しかし、そのURLでアプリケーションにアクセスしようとすると、uwsgiエラーが発生し、Pythonアプリケーションが見つかりません。
私のwsgi.pyファイルは次のようになります。
アップデート
プランAはうまくいきません。私は当初、uwsgiがdotcloud上のPythonアプリの唯一のオプションであるという仮定から始めました。
プランB-ウェブサーバーによってプロキシされたポートでPlone
私は今、Ploneをポートで実行しているワーカーとして使用し、次にproxy_passを使用してサイトにサービスを提供するプランBを開いています。追加の利点として、「Webサーバーによってプロキシされたポート上のPlone」は、他のシナリオでのPloneの標準的なデプロイメントアプローチに近くなります。
node.js - NodeJS のデプロイ固有のファイル
NodeJS プロジェクトを DotCloud で実行しています。悲しいことに、DotClouds の展開は「プロジェクトに侵入」します。つまり、supervisord.conf ファイルを app-root に配置する必要があります。私の展開セットアップは次のようになります (git repos を使用)。
(コードにアクセスするためのサブモジュールとして/prod/project
使用)project.git
さて、これについての私の考えは、最終的には、開発、テスト、ステージなど、このようなさまざまな環境を持つことになるということです。dotcloud.yml
すべてをローカルで実行することが想定されているため、開発環境にはファイルさえありません。まあ、これはかなりうまくいきます。しかし問題は、supervisord.conf
dotcloud へのデプロイ専用のファイルです。現在は project.git リポジトリにありますが、デプロイ専用であるため、そこには属していません。
デプロイメント構成ファイルを別の場所に置くことができるモジュールまたは NodeJS スクリプトはありますかnode deploy.js --production
?
dotcloud - dotcloud cli のアップグレードに問題がある
ここの指示に従ってください: http://docs.dotcloud.com/0.9/guides/migration/
走ったときsudo pip install -U dotcloud
私が走るときdotcloud setup
どんな助けにも感謝します。
python - Dotcloud での NewRelic 環境の設定 (Python)
dotcloud.yml ファイルの新しい New Relic 構成変数を使用してセットアップされた Python アプリケーションがあり、正常に動作します。
ただし、テスト/ステージング環境としてサンドボックス インスタンスを実行したいので、ini 構成のさまざまな構成セクションを使用するように newrelic エージェントの環境を設定できるようにしたいと考えています。私の dotcloud.yml は次のように設定されています。
サンボックスが「テスト」として設定され、ライブアプリケーションが「本番」に設定されるように、カスタム環境変数があります
次に、uswsgi.py で次のように呼び出しています。
ただし、uwsgi.log ファイルでこれを取得しているため、dotcloud インスタンスはすでに newrelic を有効にしています。
そのため、uwsgi.py が呼び出される前に newrelic エージェントが初期化されているように見えます。
だから私の質問は:
newrelic 環境を初期化する方法はありますか?
perl - モジュール(そうではありませんか?)は最新であるためインストールされています(そうですか?)
dotcloudにデプロイしようとしています。私のMakefile.PLは、URI1.60が必要であることを示しています。development.ymlファイルにもそのように書かれています。ビルダーは、モジュールがインストールされていると主張します。
私が走ったら
それは失敗します
通常、モジュールは〜/ perl5の下にインストールされるため、これは正しい可能性があります。だから、私は試しました:
また奇妙なのは、cpanmが利用できないことですが、ドキュメントにはそれを使用できると書かれています。
ヒントはありますか?
編集:これはこのモジュールでは問題のようには見えません。LWPでも同じでした。そして、さらに奇妙なことに、HTTP :: Date、LWPへの依存関係があります。モジュールの依存関係で何かが正しく機能していません。古いバージョンのdotcloudクライアントでこの問題が発生したことはありません。
ありがとう、アルベルト
php - 「呼び出し時の参照渡しは削除されました」
このリポジトリを使用して Dotcloud に Wordpress をデプロイしようとしていますが、ログに次のエラーが表示されます。
feed-wp-config.php の 86 行目を見ると、次のように書かれています。
Wordpress の開始ページに移動すると、「wp-config.php ファイルがないようです。開始する前にこれが必要です。」と表示されます。
これをレポの Github issue trackerに相互投稿しましたが、まだ応答がないため、誰かが答えを知っていることを期待してここにも投稿します。