ラベル DotCloud の投稿を表示しています。 すべての投稿を表示
ラベル DotCloud の投稿を表示しています。 すべての投稿を表示

2012年7月4日水曜日

dotcloudのserviceでnodeとpythonが使える理由

 dotcloudのserviceは各言語は一種類しか指定できない。
つまり、rubyとphpで同一のディレクトリを併用する環境は作れない。

※誤用
www:
  type: php
  type: ruby
db:
  type: mysql
ところがnodeの場合
www:
  type: nodejs  
  approot: node
と通常通りのdotcloud.ymlを書けば、pythonも使える。
これはnodeの監視用supervisordを使用している為と推測される。

2012年5月4日金曜日

dotcloudのサービス登録順

よく
サービス呼称+アカウント
というドメインでサービスを作りたい事があると思う。
アカウント側のドメインはデフォルトで決まってしまうが、サービス名側に数値が入ってしまい納得がいかない事がある。

例えば
www1-accountname.dotcloud.com
となってしまう。

1の部分が非常に納得がいかない。

そうした場合のdotcloud.ymlはwww:と指定しているはず。
こんな感じ

www:
  approot: wiki
  type: php
fulent:
  approot: fluent
  type: ruby
  config:
    ruby-version: 1.9.2

これだとfluent側に
www-accountname.dotcloud.com
が使われてしまう。

理由はwww等のサービス名の箇所をアルファベット昇順で登録している様だ。

そこで、wwwより後の文字を使えば良い。

www:
  approot: wiki
  type: php
zfulent:
  approot: fluent
  type: ruby
  config:
    ruby-version: 1.9.2


これで無事、wwwと指定している箇所が
www-accountname.dotcloud.com
で利用できるはず。
数字一文字が無くなりすっきりした。

あまりスッキリしていないという意見もあると思うが、回避は出来ていると思う。

2012年4月23日月曜日

dotcloudでbasic認証

dotcloudのwebサーバはnginxです。
apacheではありません。

よって、
/home/dotcloud/code
配下に

basicnginx.conf
とかを置けばbasic認証できます。
内容は次の通り。

auth_basic            "Local Security Test";
auth_basic_user_file  "/home/dotcloud/code/.htpasswd";

2行で済みます。

/home/dotcloud/code/.htpasswd

htaccesseditor
http://www.htaccesseditor.com/
とかで作ればokです。

2012年3月17日土曜日

DotCloudでデプロイしても、メモリが足りない場合がある。

タイトル通りなのですが、以下の様になります。

05:46:36 [web.0] -- Failed to deploy: [Errno 12] Cannot allocate memory
05:46:36 ---> Deploy finished

Deployment finished. Your application is available at the following URLs
web: http://xxx-3opsr7qp.dotcloud.com/

ぜんぜん気がつかないで一生懸命、
http://xxx-3opsr7qp.dotcloud.com
にアクセスしてました。

だって Deployment finished.ってあるので。
finished.  ってまぁ異常終了でも出るんですね。

URLにアクセスしてもだめな場合は、ちゃんとログメッセージを確認した方がいいです。

2011年6月8日水曜日

DotCloudのDirectives denyについて

DotCloudはnginxで動作していて、Directivesのdenyが効かない様に見える。

Apacheと違うので、denyの書き方が悪いのではと思ってしまう。

正確には、_SERVER["REMOTE_ADDR"]に効いてしまっていてる。

これでは任意のIPアドレスのみのアクセスを許可する事が出来ない。

if ($http_x_forwarded_for != "任意のIPアドレス") {
 return   403;
}

と書いた*nginx.confを任意のディレクトリに置けばNot Foundとして扱われる。