miyagawaさんがjoinしてにわかにアツいdotcloudでnopasteなアプリを動かしてみたよ
元々、ここで紹介したモノで、dotcloud上で展開するにあたりいくつか変更している。主な変更点は
- psgiをapp.psgiにrename。libへのパスも通す
- 手軽に動かすためにSQLiteだったのでMySQLに変更
- MySQLの設定はホームディレクトリ以下に config.pl を置いてそれを読む込む仕様に
- サーバの時間がUTCなのでそれにあわせて変更
- Makefile.PL に不足がないように
- inc ディレクトリもgitで管理
です。
だれかが書いていたような気もするけど、dotcloud で MySQLを動かすには管理コマンドから
$ dotcloud deploy -t mysql mysql.kazeburo
$ dotcloud info kazeburo.mysql
cluster: wolverine
config:
mysql_password: XXXXXXXXXXXXXXXXXX
created_at: 1304432444.8159039
name: kazeburo.mysql
namespace: kazeburo
ports:
- name: ssh
url: ssh://dotcloud@mysql.kazeburo.dotcloud.com:35XX
- name: mysql
url: mysql://root:XXXXXXXXXXXXXXX@mysql.kazeburo.dotcloud.com:35XX
state: running
type: mysql
deploy コマンドでインスタンスを作成したあと、info でパスワードを確認。ssh でログインして mysql に接続する
$ dotcloud ssh kazeburo.mysql
dotcloud@kazeburo-mysql:~$ mysql -u root -p
これで MySQL に接続ができるので DBやユーザの作成を行います。
> CREATE DATABASE nonopaste DEFAULT CHARSET=utf8;
> GRANT ALL ONnonopaste.* TO 'nonopaste'@'%' IDENTIFIED BY 'XXXXXXXX';
割とMySQLの設定がデフォルトそのまんまなので、その道の人から見ると「えー」なのかもしれませんが、アプリケーションのでプロイのベストプラクティスなど含めて、今後dotcloud上でアプリケーションをどうやってスケールさせていくのかとか、ドキュメントや事例が増えてくると思うのでそれに期待。OSCONのmiyagawaさんのセッションでも何かあるのかな?