Webシステムの稼動について教えてください。


参考書を元にして、
ロカール環境でEclipseとTomCatを使用して作成したWebページがあるのですが、
実際にサーバーに上げて稼動させるにはどうすれば良いのでしょうか?

参考書に「http://localhost:8080/ディレクトリ名 にアクセスして実行する方法」は沢山書かれてあるのですが、
「実際にサーバーに上げて起動させる方法」が分からないのです(汗)

ローカル環境で作成したシステムは
サーブレットの制御により画面遷移すると(Hello wold)と表示されるシステム(ページ)をサーバー上で起動させてみたいと思っています。

これを実行させる場合には、
「WEB-INF」がディレクトリとして組まれているファイルをサーバに単純にアップロードを行うだけで実行は可能でしょうか?

当方はロリポップというレンタルサーバーを借りているので
できればロリポップでWebシステムを実行できるのであれば上げてみたいと考えています。

また、MVCモデル(Bean・JSP・Servlet)をサーバーで起動するために特別な条件などありますでしょうか?
(サーバーの種類は関係するのでしょうか?)

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/02/14 22:22:37
  • 終了:2008/02/21 22:25:02

回答(3件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402008/02/14 23:27:12

ポイント27pt

ロリポップじゃ無理ですね。

というか共用サーバーで Servlet を使えるところはほとんど無いです。


サーバーの種類というか、専用サーバーで自分で環境構築から行うのが基本となります。

具体的には以下の内容のようなこと。

[Think IT] 第5回:TomcatをLinuxへインストールしよう!(パッケージ管理システム編) (1/3)

最低ラインとしてはこのあたりからでしょう。

専用サーバ|SAKURA Internetのさくらの専用サーバ:月額6,800円ではじめられる専用レンタルサーバ

id:like_aoihana

ご回答ありがとうございます。

ロリポップ(共用サーバー)では基本的には無理なのですね(汗)

この辺りはサーバーに負荷を掛けないため、という兼ね合いでしょうか?

また実際の企業などのシステムで

OSをLinuxでTomCatをベースとしたシステムの運用などされているところ

なのはあるのでしょうか?

専用サーバーで自分で環境構築とあるのですが

専用サーバーをレンタルした場合、

遠隔的にサーバーにアクセスしてそこからTomCatなどのインストールを行えるということでしょうか?

2008/02/16 18:50:13
id:tomo_k No.2

tomo_k回答回数426ベストアンサー獲得回数262008/02/14 22:47:41

ポイント27pt

これはアプリケーションサーバによります。

たとえば、実際に公開するサーバだと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ベース)からアップロードします。

とにかく、アプリケーションサーバによってアップロードの仕方とか設定の仕方など違います。

id:like_aoihana

ご回答ありがとうございます。

 

>これはアプリケーションサーバによります。

>たとえば、実際に公開するサーバだとTomcat単体で動かすことはあまりなく、WebサーバとしてApacheを使用するケースが多いと思います。>そして、アプリケーションサーバとしてTomcatをApacheに組み込むという感じです。


イメージ的には

TomCat = ローカル環境テスト用 仮想サーバー(偶に企業でも使われている)

WebSphere Application Server(WAS)など = 実際の企業で主に使われる

というような感じなのでしょうか?

 


antについては

複雑なビルド手順を簡略化とありました。

良く分かっていないのですが、

企業HPなどの処理ロジックが複雑でモジュールを沢山介する必要がある場合は

単純にHello Worldの1Javaソースを動かすようにビルドボタンを一つ押すだけではいけず

「モジュールをある一定の順番でビルドしないといけないことがある?」という理由で

Antビルドを使用することで

バッチのように一括でビルドが可能となり

コンパイルの高速化が図れるからAntが使用される、ということでしょうか?

2008/02/16 19:06:48
id:tomo_k No.3

tomo_k回答回数426ベストアンサー獲得回数262008/02/16 20:58:15

ポイント26pt

>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で運用なんていったらおそらく運用にそれなりのコストにかかってしまうでしょうね。トラブルとか起きそうだし……。


また何かありましたらコメント欄を開いてもらえればそちらに書きます。

  • id:like_aoihana
    id:tomo_kさん
    とてもご丁寧なご回答、ありがとうございます。


    不思議な事に、どうしてこういう話書かれていないのかも不思議に思いました。(汗)
    何だかお話を聞いていてWebアプリについて分かってきた気がします。
    参考書にこういうことが中々書かれていない気もするのです。



    話から少しずれてしまうかもしれまないのですが

    >モジュールをある一定の順番でビルドしないといけないことがある?」

    こちらは
    【モジュール状況 未コンパイル】
    ①Java1(単独で稼動可能)
    ②Java2(単独で稼動可能)
    ③Java3(Java2とJava1)のclassが必要


    この状態の場合に次の


    【モジュール状況 コンパイル】
    ③Java3(Java2とJava1)のclassが必要
    ①Java1(単独で稼動可能)
    ②Java2(単独で稼動可能)


    このような状態でコンパイルを行った場合、
    Java3をコンパイルする際に必要なリソース(資源)、が存在しないため、
    正常にコンパイルが行われない状態が発生する、ということでしょうか?



    > Apache+TomcatとかIIS+Tomcatとかならあり得ますね。
    > Tomcat単体でというのはそうそうないかと思います。
    沢山の補足ありがとうございます。
    Tomcatが企業で使われている、いないも分かっておりませんでしたので(汗)
    とても参考になりました。


    > Tomcatで運用なんていったらおそらく運用にそれなりのコストにかかってしまうでしょうね。トラブルとか起きそうだし……。
    こちらは企業ではTomCatが使われる事はほぼ無いという通りから、
    Tomcatには十分な運用を行う為のスペック(機能)が乏しいということですよね?



    > WASの例でいいますとWASで動作させるためにEARというファイル形式にするのが一般的です。

    【EAR(Wikipediaより)】
    EARはEnterprise Archiveの略、Java EEアプリーケーションのパッケージ形式の事とありました。

    Webアプリケーション作成の流れとしては

    ①Jarファイルの作成
    ②Jarや他リソースを詰め込んだWarファイルの作成
    ③EARというWebアプリケーションを動かすことのできるファイルの作成

    という感じでしょうか?


    まとめとしては、
    Antは Jar作成 ⇒ War作成 ⇒ EAR作成 という一連の流れを手入力、手操作する手間を省き
    この一連の流れを予め記述しておくことで、その流れを処理してくれるもの。
    という認識で合っていますでしょうか?


    申し訳ございません。
    知識不足、勉強不足のため、
    本題から外れてしまいましたが、
    WarやらEARなど実際に作成したことがありませんので、
    大体のイメージでしか掴めていませんが、少し合っているか不安です(汗)


    warファイルは「Webアプリケーションを動かす為の機能が詰め込まれたもの」と聞いているのですが、
    Earファイルも同様のものと思っているのですが、また別なものなのでしょうか?


    以上より、抽象的な質問が多くて申し訳ありません。
    もしお時間、お暇がございましたら、ご回答を頂けると幸いです。


    沢山の質問に答えてくださってありがとうございました。
  • id:tomo_k
    >Java3をコンパイルする際に必要なリソース(資源)、が存在しないため、
    >正常にコンパイルが行われない状態が発生する、ということでしょうか?

    そのあたりは、Javacが勝手にやってくれることなのでそんな意識しなくてもよいです。

    >こちらは企業ではTomCatが使われる事はほぼ無いという通りから、
    >Tomcatには十分な運用を行う為のスペック(機能)が乏しいということですよね?

    Tomcatに備わっているWebサーバとしての機能はApacheのサブセットに過ぎません。
    アクセスが多くなってくれば捌ききることは困難でしょう。

    また、商用のアプリケーションサーバであるならば、ある程度のサポートは期待できますがTomcatとなるとそれは難しいでしょう。


    >Antは Jar作成 ⇒ War作成 ⇒ EAR作成 という一連の流れを手入力、手操作する手間を省き
    >この一連の流れを予め記述しておくことで、その流れを処理してくれるもの。
    >という認識で合っていますでしょうか?

    それだけではありませんが、そういうこともできますよという話です。
    ほかにも、リソースファイルでは2バイト文字が扱えません。そのためにnative2asciiというJ2SEの中に入っているツールでもってあらかじめS-JISなんかで書いたリソースファイルの元を変換するのですが、このあたりとJavaのコンパイルをAntで記述してみたり使い方はいろいろあると思います。

    >warファイルは「Webアプリケーションを動かす為の機能が詰め込まれたもの」と聞いているのですが、
    >Earファイルも同様のものと思っているのですが、また別なものなのでしょうか?

    違いはあるものの似たようなものと理解してもよいです。

    >不思議な事に、どうしてこういう話書かれていないのかも不思議に思いました。(汗)

    まあ、このあたりの話はここのアプリケーションサーバのお話になってしまうので書きにくいところがあるのでは?
    本にするとなると、一般的なことを書かなければならないのでうん十万もするアプリケーションサーバの話は書きにくいし限られたお話なので商売にしにくいところがあります。
    そこで、Tomcatというとりあえず無料で使えるものについて書くというのは自然な話です。

    http://www.atmarkit.co.jp/fjava/

    とりあえず、このあたりから興味のありそうな事柄に関して読んでいってはどうでしょうか?
  • id:like_aoihana
    ご回答ありがとうございます。
    主題から外れた疑問にまで付き合って下ってありがとうございます。

    おかげ様でTomCat、Ant、Earファイルについて
    色々とイメージを掴む事ができました。

    URLの方、ありがとうございます。
    こちらアットマーク・アイティですね。

    テストの視点や、デバッグツールの使い方など
    興味がある部分について読んでいこうと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません