今、Java業界ではPlay frameworkが熱いようです。Ruby on Railsに触発されたWebアプリケーションフレームワークでStrutsなどのようにサーブレット、JSPに依存しない設計になっています。
手元にあるUbuntuの仮想マシンでプロジェクトをたちあげてみました。
Play frameworkプロジェクトを作成する
$ play new sample _ _ _ __ | | __ _ _ _| | | '_ \| |/ _' | || |_| | __/|_|\____|\__ (_) |_| |__/ play! 2.0.1, http://www.playframework.org The new application will be created in /home/unicast/sample What is the application name? > sample Which template do you want to use for this new application? 1 - Create a simple Scala application 2 - Create a simple Java application 3 - Create an empty project > 2 OK, application sample is created. Have fun!
Webサーバーをたちあげてみる
さっそくHelloWorldアプリケーションを拝んでみたいと思います。Railsで言うところのrails server
に相当します。
$ play run [info] Loading project definition from /home/unicast/sample/project [info] Set current project to sample (in build file:/home/unicast/sample/) [info] Updating {file:/home/unicast/sample/}sample... [info] Resolving org.hibernate.javax.persistence#hibernate-jpa-2.0-api;1.0.1.Final [info] Done updating. --- (Running the application from SBT, auto-reloading is enabled) --- [error] org.jboss.netty.channel.ChannelException: Failed to bind to: /0.0.0.0:9000 [error] Use 'last' for the full log.
ところが9000番ポートを誰かが使用しているご様子・・・。誰かなって調べてみると、
$ sudo lsof -i:9000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME php5-fpm 948 root 6u IPv4 8413 0t0 TCP localhost:9000 (LISTEN) php5-fpm 949 www-data 0u IPv4 8413 0t0 TCP localhost:9000 (LISTEN) php5-fpm 950 www-data 0u IPv4 8413 0t0 TCP localhost:9000 (LISTEN) php5-fpm 951 www-data 0u IPv4 8413 0t0 TCP localhost:9000 (LISTEN) php5-fpm 952 www-data 0u IPv4 8413 0t0 TCP localhost:9000 (LISTEN)
php5-fpmという奇妙なプロセスが立ち上がってました。調べてみるとnginx+php5-fpmという組み合わせて使うCGIプロセスのようです。
今回は必要ないのでプロセスを終了させます。
$ sudo killall php5-fpm
そしてもう一度
$ play run [info] Loading project definition from /home/unicast/sample/project [info] Set current project to sample (in build file:/home/unicast/sample/) --- (Running the application from SBT, auto-reloading is enabled) --- [info] play - Listening for HTTP on port 9000... (Server started, use Ctrl+D to stop and go back to the console...)
別のポートを使用したい場合
以下は8080番でLISTENする例です。
$ play [info] Loading project definition from /home/unicast/sample/project [info] Set current project to sample (in build file:/home/unicast/sample/) _ _ _ __ | | __ _ _ _| | | '_ \| |/ _' | || |_| | __/|_|\____|\__ (_) |_| |__/ play! 2.0.1, http://www.playframework.org > Type "help play" or "license" for more information. > Type "exit" or use Ctrl+D to leave this console. [sample] $ run 8080 --- (Running the application from SBT, auto-reloading is enabled) --- [info] play - Listening for HTTP on port 8080... (Server started, use Ctrl+D to stop and go back to the console...) [info] play - Application started (Dev)
投稿者紹介
-
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。
最近のエントリ
- レポート2019.10.28ユニキャストレストランを開催しました🍳
- レポート2019.08.29社内研修ワークショップ~マシュマロ・チャレンジ~
- レポート2019.08.06Computex/InnoVEX 出展者・通訳として参加してきました。
- レポート2018.06.12Computex 2018 レポート
1件のコメント