Bluemixでtomcatのアプリを動かす! その1
はじめまして、eagle-palaceです。
アジャイル、クラウド、セールスフォースに関していろいろ触ってみたことを日記風にアップさせていただきますのでよろしくお願いいたします。
最近話題のBluemixについて。
BluemixはIBMの提供するPaas(クラウド開発プラットフォーム)で、効率的にいろいろなアプリを開発・運用できるプラットフォームです。
詳しくはこちら↓
今日は、Tomcatで作成したアプリをBluemixで動かす方法をご紹介します。
すでにJavaが導入されているものとします。
手順:
1. Tomcatのダウンロード
Apache Tomcat - Apache Tomcat 8 Downloads
ここから、適当なバージョンをダウンロードし、ローカルのディレクトリに解凍します。
2. サンプルアプリの配備
1) webpps配下にtestという名前のディレクトリを作成し、さらにWEB-INF
という名前のディレクトリを作成します。
WEB-INFの下に下記のようにclassesディレトリを作成します。
下記のようになります。
webapps
---- test
---- WEB-INF
--- classes
2) test/WEB-INF/classes配下に、helloworld.java というファイルを
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("Hello! World");
out.println("</html>");
out.close();
}
}
の内容で作成します。
3) test/WEB-INF配下に、web.xmlというファイルを、
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
hello
</servlet-name>
<url-pattern>
/helloworld
</url-pattern>
</servlet-mapping>
</web-app>
の内容で作成します。
4) ターミナル等で、test/WEB-INF/classesに移動し、
javac -classpath <TOMCAT_HOME>/lib/servlet-api.jar helloworld.java
でコンパイルします。
5) ターミナル等で、 test ディレクトリーに移動し、
jar cf MyApp.war .
でwarファイルを作成します。
これでアプリの準備が整いました。
3. ローカル環境での稼働確認
まず、ローカル環境で稼働を確認しましょう。
<TOMCAT_HOME>ディレクトリーに移動し、
./bin/startup.sh で Tomcatを起動します。
任意のブラウザで、 http://localhost:8080/test/helloworld
と入力すると、Hello! World とブラウザ上に表示されるはずです。
4. Bluemixへのデプロイ
それでは、Bluemixにこのアプリをデプロイしてみましょう。
あらかじめ、 BluemixのID登録と、CFコマンドラインインターフェース
のインストールをしておく必要があります。
ターミナルで、testディレクトリーに移動し、
cf login
Email> xxxxxxx
Password> xxxxxx
とBluemixにログインした後、
cf push <appname> -p MyApp.war -b java_buildpack
でBluemixにプッシュします。
<appname>は、Bluemix全体でユニークになるような名前を指定してください。
しばらくすると、bluemix上のダッシュボードに<appname>のアプリケーション
が開始されているはずです。
5.Bluemixでの稼働確認
ブラウザで、
http://
と入力してみてください。
ローカルと同じく、Hello! World と表示されるはずです。
これで、TomcatのアプリをBluemixで稼働させることが確認できました!
cf push で使用した、 -b java_buildpack の指定によって、bluemixにおいて、アプリを
Tomcatの環境で動かすことができるようになります。
それでは、また。