【Tomcat8.5】HelloWorldアプリケーションをWebサーバにデプロイしてみる


はじめに

EclipseでTomacatアプリケーション(HelloWorld)を作成し、warファイル化。
それをAWSに構築したWebサーバにscpでデプロイし、Chormeでページを表示させます。

環境

Tomcat8.5
Apache2.4
pleiades4.8
macOS 10系

やってみる

Webサーバ構築

1年間無料の範疇でシンプルなEC2インスタンスを作成し、ApacheとTomcatをインストールします。
手順がわからない方は私の過去記事を参考にしてみてください。
ポート8080を空けていなかったためApacheのデフォルトページが表示されず難儀しました。。

Eclipseのインストール

こちらの記事にありがたく倣います。
mac版だと日本語化が難しいとのことですのであっさり諦めます()。

Tomcatアプリケーションの作成

こちらの記事にありがたく倣って動的プロジェクトからコンパイルしたclassファイル、url-patternを明示したweb.xmlファイルを作成します。

他のページにTomcatのディレクトリ構成と仕様がバリッバリわかりやすく書かれています、
Tomcat難解すぎて嫌になっている方(私です)はぜひ一読してみてください。
もちろんこの構成が全てのTomcatアプリケーションに通ずる訳ではないですが、ロジックの触りが理解できると思います。

Webサーバへデプロイ

先に構築したWebサーバにアプリケーションをデプロイします。
と言ってもWebサーバ上のTomcatフォルダ構成は上記サイトと同じですので、classファイルとweb.xmlファイルをターミナルからscpしてあげるだけです。
scpの手順がわからない方は私の過去記事を参考にしてみてください。

最終的に以下の配置になります。

/usr/tomcat8/webapps/searchman/WEB-INF/classes/HelloWorld.class

/usr/tomcat8/webapps/searchman/WEB-INF/web.xml

tomcat.serviceの再起動、ブラウザ確認

Tomcatサービスが起動している場合は再起動、停止している場合は起動します。

・再起動
# systemctl restart tomcat.service

・起動
# systemctl start tomcat.service

・起動状態の確認(起動中か停止中か、ステータスがわからない場合はこのコマンドで確認します)
# systemctl status tomcat.service

あとはChromeで以下のURLを指定し、HelloWorldが表示されていればデプロイ完了です!

http://EIP:8080/searchman/servlet/hello

おわりに

とにかく簡単なアプリでいいからAWS環境へのデプロイを体験したかったところ、こちらの記事に出会えました。本記事はこのサイトを布教するために書いたのが目的でもあります!w
私と同じような環境の方や、未経験者様のお役に立てますと幸いです。

参考にしたサイト

まずはここから!Javaの「Hello World」の書き方

JAR,WAR,EARそれぞれの違いについて

最後まで読んでいただきありがとうございました。