参考書を元にして、
ロカール環境でEclipseとTomCatを使用して作成したWebページがあるのですが、
実際にサーバーに上げて稼動させるにはどうすれば良いのでしょうか?
参考書に「http://localhost:8080/ディレクトリ名 にアクセスして実行する方法」は沢山書かれてあるのですが、
「実際にサーバーに上げて起動させる方法」が分からないのです(汗)
ローカル環境で作成したシステムは
サーブレットの制御により画面遷移すると(Hello wold)と表示されるシステム(ページ)をサーバー上で起動させてみたいと思っています。
これを実行させる場合には、
「WEB-INF」がディレクトリとして組まれているファイルをサーバに単純にアップロードを行うだけで実行は可能でしょうか?
当方はロリポップというレンタルサーバーを借りているので
できればロリポップでWebシステムを実行できるのであれば上げてみたいと考えています。
また、MVCモデル(Bean・JSP・Servlet)をサーバーで起動するために特別な条件などありますでしょうか?
(サーバーの種類は関係するのでしょうか?)
ロリポップじゃ無理ですね。
というか共用サーバーで Servlet を使えるところはほとんど無いです。
サーバーの種類というか、専用サーバーで自分で環境構築から行うのが基本となります。
具体的には以下の内容のようなこと。
[Think IT] 第5回:TomcatをLinuxへインストールしよう!(パッケージ管理システム編) (1/3)
最低ラインとしてはこのあたりからでしょう。
これはアプリケーションサーバによります。
たとえば、実際に公開するサーバだとTomcat単体で動かすことはあまりなく、WebサーバとしてApacheを使用するケースが多いと思います。そして、アプリケーションサーバとしてTomcatをApacheに組み込むという感じです。
Tomcat単体で動作させる場合は開発環境と全く同じ構成にしてあげれば動くはずです。
ロリポップでは見たところ、Javaの動作するアプリケーションサーバが入っていないので動かすことは不可能のように思えます。
http://www-06.ibm.com/jp/software/websphere/ft/was/
そのほか、IBMのWebSphere Application Server(WAS)なんかもよく使われます。これの場合は、antか何かを使ってEARという形式にビルドして、それをWASの管理画面(Webベース)からアップロードします。
とにかく、アプリケーションサーバによってアップロードの仕方とか設定の仕方など違います。
ご回答ありがとうございます。
>これはアプリケーションサーバによります。
>たとえば、実際に公開するサーバだとTomcat単体で動かすことはあまりなく、WebサーバとしてApacheを使用するケースが多いと思います。>そして、アプリケーションサーバとしてTomcatをApacheに組み込むという感じです。
イメージ的には
TomCat = ローカル環境テスト用 仮想サーバー(偶に企業でも使われている)
WebSphere Application Server(WAS)など = 実際の企業で主に使われる
というような感じなのでしょうか?
antについては
複雑なビルド手順を簡略化とありました。
良く分かっていないのですが、
企業HPなどの処理ロジックが複雑でモジュールを沢山介する必要がある場合は
単純にHello Worldの1Javaソースを動かすようにビルドボタンを一つ押すだけではいけず
「モジュールをある一定の順番でビルドしないといけないことがある?」という理由で
Antビルドを使用することで
バッチのように一括でビルドが可能となり
コンパイルの高速化が図れるからAntが使用される、ということでしょうか?
>TomCat = ローカル環境テスト用 仮想サーバー(偶に企業でも使われている)
>WebSphere Application Server(WAS)など = 実際の企業で主に使われる
>
>というような感じなのでしょうか?
その通りでよいと思います。
TomcatはJavaのアプリケーションサーバが実装すべきリファレンスとして存在しているわけで実運用を前提にしたものではありません。Tomcatを使うのならApacheなどのWebサーバと連携させて使うでしょう。
テスト用途にはライセンスが無料であることから単体テストレベルではよく使われています。
>企業HPなどの処理ロジックが複雑でモジュールを沢山介する必要がある場合は
>単純にHello Worldの1Javaソースを動かすようにビルドボタンを一つ押すだけではいけず
>「モジュールをある一定の順番でビルドしないといけないことがある?」という理由で
>Antビルドを使用することで
>バッチのように一括でビルドが可能となり
>コンパイルの高速化が図れるからAntが使用される、ということでしょうか?
そのような認識でよいかと思います。
Java Servletは大規模なWebアプリケーションの構築に向くとされていますので、それなりの規模のものが多いです。数百とか数千ものソースから成り立っている例もよくあります。
WASの例でいいますとWASで動作させるためにEARというファイル形式にするのが一般的です。
これを作るためにはWARというファイルを作る必要があります。これはおおざっぱに言えば、Webアプリケーションに含まれるJSPやJavaファイル、リソースファイル、Jarファイルなどを全部ひとまとめにしてZIPで圧縮したものと考えてよいでしょう。
要するにEARを作るためにコンパイルして圧縮してという手順をいちいち踏むのは面倒だし第一間違える可能性が高いですのでAntを使ってあげるのが一般的なビルド方法です。
http://www.nextindex.net/java/jar.html
WASやEARについては上のURLが詳しそうです。
>OSをLinuxでTomCatをベースとしたシステムの運用などされているところ
>なのはあるのでしょうか?
Apache+TomcatとかIIS+Tomcatとかならあり得ますね。
Tomcat単体でというのはそうそうないかと思います。
相当に予算が限られているところでなければWASとかWebLogicとか商用のアプリケーションサーバを提案するのが通常だと思います。
Tomcatで運用なんていったらおそらく運用にそれなりのコストにかかってしまうでしょうね。トラブルとか起きそうだし……。
また何かありましたらコメント欄を開いてもらえればそちらに書きます。
ご回答ありがとうございます。
ロリポップ(共用サーバー)では基本的には無理なのですね(汗)
この辺りはサーバーに負荷を掛けないため、という兼ね合いでしょうか?
また実際の企業などのシステムで
OSをLinuxでTomCatをベースとしたシステムの運用などされているところ
なのはあるのでしょうか?
専用サーバーで自分で環境構築とあるのですが
専用サーバーをレンタルした場合、
遠隔的にサーバーにアクセスしてそこからTomCatなどのインストールを行えるということでしょうか?