Windows PowerShell , C# ポケットリファレンス
開発ファブリックにGlassFishがのらない(JettyはOK)
開発ファブリックでGlassFishを起動しようとすると、
すでに管理ポート 4848 を使用しているプロセスがあります -- GlassFish サーバーの別のインスタンスだと思われます。
コマンド start-domain が失敗しました。
と言われて起動できない。
ホストOSで同じコマンドを実行するとGlassFish起動できるのに。
(もちろんホストのGlassFishはstopしてから、開発ファブリックを確認。netstatみても4848なんて誰も使ってないし)
Jettyは開発ファブリックでも実行可能。
ただlocalhostでは引けない。hosts をみてくれないのかな。謎。
- 開発ファブリックでJetty
- Azure環境でGlassFish
ロール間通信
ロール間の通信をするには、csdefに設定が必要
http://code.msdn.microsoft.com/WindowsAzure-10line-7aee81b4/
Java Servletコンテナをのせてみる
JDKとGlassFish(またはJetty)とwarは、あらかじめBlobに置いておいて、スタートアップタスクでローカルストレージにコピってから起動するという、トランザクション課金節約方式。
ぜんぶRun()の中に書いちゃったけど、スタートアップコマンドでPowerShellから起動したほうがカッコイイのか?とか思ったり。(そこらへんの.NETのオキテがまだ良くわからない。教えてマルモ!!)
glassfish(約90MB)とjdk(約80MB)のunzipに時間がかかる(インスタンスサイズをケチっているからかもしれないけど)ので、unzipのプロセスはWaitForExitして、全部終わってからglassfishを起動しないとうまくいかない。
Input Portは80:8080にしておくと幸せになれるかも。
管理コンソール使う場合は、そこもあけておく。
- GlassFishのせたところ
- GlassFish管理画面も使える
- Jettyも使えそう(warがどこに展開されるのか謎。まさか/tmpでは・・・)
- GlassFish起動前にwarを所定の場所に持ってきておけば、もちろんautodeployばんざい。Blobから持ってくる方式なら、フェールオーバーな夜も安心です。
inputportがListenしてるか確認する
- MSからPortqryをダウンロードして適当な場所に展開(自分のローカルのPCにね)
- コマンド実行
$ PortQry.exe -n xxxxx.cloudapp.net -p TCP -e 80
- 実行結果
Querying target system called:
xxxxx.cloudapp.net
Attempting to resolve name to IP address...
Name resolved to xxx.xxx.xxx.xxx
querying...
TCP port 80 (http service): FILTERED
リッスンしてないし・・・ヽ(;´ Д `)ノ ナンデ
(参考になりそうなページ)
http://www.atmarkit.co.jp/fwin2k/win2ktips/231telnetcmd/telnetcmd.html
http://itpro.nikkeibp.co.jp/article/COLUMN/20060920/248522/
netstat -a など
AzureRPS!
http://www.rockpaperazure.com/
USで、AzureにBotをデプロイしてエントリーするじゃんけん大会が行われている!
12/16までの毎週金曜日、上位5位のBotに$50ギフトカード、
そして全エントリーの中から4名に豪華商品が。
$5000の旅行って、すごっ!いいなー。
MS日本法人も、クラウディアの誕生日にこれやればよかったのに。
ぐー、ちょき、ぱー 以外に、ダイナマイトと水風船があるのか面白い。
参加できないけど、Botデプロイしてみよー。
- 管理ポータルから空のホステッドサービスを作っておく。たぶんストレージも作っておく。
- サイトからDownload the bitsをクリックしてVSのソリューション一式ダウンロード。zipを展開すると、BotLabとMyBotというフォルダがあるんで、とりあえずBotLabのソリューションをVS2010などで開いて、適当に作ったHosted ServiceにDeployしちゃう。デフォルトでXS×1という親切設計。プロジェクトを右クリックして発行で、ダイアログの言いなりにしていれば、うまくいった。(Windows7じゃないひとは、きっと管理ポータルからAzureService.cspkgとServiceConfiguration.Cloud.cscfgをアップロードするんだと思う。やりかたは英語を読んでがんばって。)
- デプロイした画面にアクセスするとパスワードを入れる画面があるので、入れてみると、Labの画面が出る。とりあえずそのままおいておく。
- MyBot.csにいくつかサンプルが書かれていて、デフォルトがランダムで出すやつになっている。とりあえず一回そのままビルドしちゃう。
- Enter the Contestで実際のコンテストに参加できるんだけど、登録時に住所入れるところがあって、CountryがUSしか選べない・・・(涙) 参加するとTシャツがもらえるみたいだね。
Tomcatクラスタリング
http://www.limy.org/program/tomcat/cluster.html
これは、Azure上で動くのだろうか。。。
あとで試す。