1. 著者: ムーンズバード
タイトル: Windows での Apache+Tomcat+MySQL+jsp+php のサーバー統合構成エクスペリエンスの概要
時間: 2004.8.19
初出は西南交通大学金城駅
2. この記事は、著者が過去数年間に JSP/構成サーバー環境を学習した経験をまとめたものです。転載可能ですが、出典を明記してください。
jsp の学習を始めてからかなりの時間が経ちましたが、jsp の統合の例はインターネット上にたくさんありますが、多くの問題があります。
Apache+Tomcat+MySQL+jsp+php の統合については、Tomcat と Apache のバージョンによって若干の違いがあります。
たとえ電子テキストが優れていたとしても、Tomcat と Apache のマニュアルを読むと、それらを完全にうまく統合できない可能性があります。私は夏休みで家にいますが、インターネットの速度は交通大学ほど遅くなく、古いダフ屋の車ほど遅いので、これをもとに著者はネット上の大量の情報を調べ、そのエッセンスを吸収し、初心者の利便性を提供するとともに、マスターのリファレンスマニュアルとしても機能することを願ってこの記事を書きました。
jsp は優れたものであり、Java テクノロジに基づいており、JavaBean/サーブレットを使用して動的 Web サイトを作成します。これにより、Jsp には php や asp にはない独自の利点が得られます。しかし、JSP を学習するのは、PHP や ASP に比べて難しいです。
理由の 1 つは、JSP サーバー環境の構成が少し複雑であることだと思います。動的な Web ページの作成に関しては、交通大学では長い間 ASP が優位に立っています。jsp を使用している「専門家」 (おそらく、多くの人は jsp を使用する人が専門家であると考えています) は多くありませんが、交通大学の方が多いです。成功。
Century Star Network (Tomcat)、Online Education Institute Web サイト (Resin)、Jiaotong University Admissions and Employment Network (Tomcat) などの JSP Web サイト、サーバーは
Linux 9 は比較的安定して信頼性高く動作します。 Linux での Apache と Tomcat の統合に関する記事を以前に公開しました。必要な場合は、Jincheng で検索してください。 Linux と Windows での統合の考え方は同じで、Apache を使用して *.html/*.htm を解析します。
静的 Web ページの場合、*.jsp とサーブレットに遭遇すると、JSP ページが Tomcat (または
この記事では、Win 環境で既製のモジュールを使用して統合を完了します。
早速、統合を始めましょう:
必要なソフトウェア
(1) j2sdk-1_4_2-windows-i586.exe
jdk のバージョンはあまり関係がなく、Apache と Tomcat の統合には影響しません。環境変数を設定するときに注意してください。
(2) apache_2.0.49-win32-x86-no_ssl.exe
Apache バージョンは統合に大きな影響を与えませんが、このバージョンを活用することが最善です。
(3)jakarta-tomcat-4.1.30.exe
このバージョンを使用するのが最善です。他のバージョンは試していないため、統合が失敗する可能性があります。
(3) php-4.3.3-Win32.zip
圧縮パッケージなので、ダウンロードして直接解凍してください。
(4) mod_jk.dll
このモジュールは、Apache のモジュール内に配置され、Tomcat と Apache 間の通信に使用されます。
(5) mysql-max-3.23.46a-win.zip
データベース mysql、そのバージョンは統合にほとんど影響しません。
(6) jdbcドライバ
mysql ドライバー、データベースに接続するときに使用されます。
上記のソフトウェアのアドレスは掲載しません。Baidu と Beida Tianwang をオンラインで検索してください。本当に見つからない場合は、私にメールを送ってください。それを求めてください。
1.j2sdkをインストールする
Windows では、ダウンロードした j2sdk-1_4_1_01-windows-i586.exe ファイルを直接実行し、インストール ウィザードに従ってディレクトリにインストールします。たとえば、d:serverj2sdk にインストールします。
1. 環境変数を構成します。
CLASSPATH 変数の変数値を次のように追加します。
./;%CLASSPATH%;D:serverj2sdk1.4.0libdt.jar;d:serverj2sdk1.4.0libtools.jar;
d:serverj2sdk1.4.0bin
この構成により、Java の実行中にクラス class が確実に見つかるようになります。
2. JAVA_HOME 変数を追加します。変数値は d:serverj2sdk1.4.0 です。
3. 元のパス変数に d:serverj2sdk1.4.0bin を追加します。これにより、Java コマンドが場所に関係なく実行できるようになります。
再起動して
dos を入力し、java と javacを
実行して応答があるかどうかを確認します。コマンドのヘルプが表示されたら、java アプレットを実行して確認することもできます。
public static void main(String args[]){
System.out.println("これが表示されれば、Java のインストールが成功したことを意味します!");
}
}
上記のプログラムを test.java ファイルに保存し、コマンドを使用してコンパイルします。
javacテスト.java
エラーがない場合は、コンパイルが成功したことを意味します。エラーがある場合は、Java 環境変数が正しく構成されておらず、正しいプログラム記述に基づいて再構成されただけであることを意味します。コンパイルが成功したら、次を実行します。
Javaテスト
java test.java ではないことに注意してください。正しい場合は、次のメッセージが表示されます。
これは、Java が正常にインストールされたことを意味します。
次のステップ
2. apache のインストール
に進むことができます。
1. apache_2.0.49-win32-x86-no_ssl.exe を実行します。途中で「OK」と「同意する」をクリックして、パスを選択します
d:サーバーapacheグループapache2。
この時点で、Apache は正常にインストールされ、実行されています。IE にhttp://localhost/と入力すると確認できます。
アパッチのホームページ。インストール成功!
2. httpd.confを変更する
Apache の設定ファイルは httpd.conf で、Apache のルート ディレクトリの下の conf フォルダにあります。
(1) デフォルトの Web サイトのルート ディレクトリを変更します。
Web サイトのルート ディレクトリとして、d:server の下に www フォルダを作成します。
ドキュメントルート "D:/server/Apache グループ/Apache2/htdocs"
DocumentRoot "D:/server/www" に変更します。
(2) キャラクターの設定を変更します。
Apache は中国語の Web ページを解析すると文字化けを生成します。
AddDefaultCharset ISO-8859-1 を AddDefaultCharset GB2312 に変更します
(3) デフォルトのホームページを変更します。
ディレクトリにアクセスすると、Apache が自動的にホームページをインポートし、優先順位が付けられます。
DirectoryIndexのindex.htmlindex.html.varを次のように変更します。
DirectoryIndexindex.htmlindex.jspindex.phpdefault.jspdefault.phpindex.html.var
(4).エラーページの設定
これが Web サイトにとってより安全です。これが設定されていない場合、他の人が URL の後にランダムなパスを入力すると、404 エラーが表示されます。
エラーが発生すると、サーバーのバージョン番号が表示され、サーバーの構成が一目でわかるようになります。この状況を回避するには、エラー ページを設定します。
404 エラーが発生した場合、つまり Web ページが見つからない場合は、訪問者をエラー ページに誘導します。
現れる:
#
# カスタマイズ可能なエラー応答には 3 つの種類があります。
# 1) プレーンテキスト 2) ローカルリダイレクト 3) 外部リダイレクト
#
# いくつかの例:
#ErrorDocument 500 "サーバーがブーブー音を立てました。"
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
httpd.conf のこの部分、#ErrorDocument 404 /missing.html
1 行が ErrorDocument 404 /error/noFile.htm に変更されます。noFile.htm は、d:serverwwwerror にある次のエラー ファイルです。
自分で構築する必要があります。 404 エラーが発生した場合、noFile.htm ページに入ると、Web ページが見つからないというメッセージが表示されます。そうなると、サーバー ソフトウェアの情報を確認できなくなります。他のエラー指向のページを設定することもできます。特定の http 応答エラー番号については、関連情報を参照してください。
Apache を再起動します。予期せぬことが起こらなければ、インストールは成功しています。静的ページを d:serverwwwerror ディレクトリに配置して、正常に解析できるかどうかを確認します。
http://localhost/sdagasgdasasg.htm のいずれかを入力し、設定した 404 エラー、つまり noFile.htm エラー ページが表示されるかどうかを確認します。
成功!
Apache の他のパラメータの意味については詳しく説明しません。実際、httpd.conf のコメントを読むのが最善の方法です。これはすでに非常に明確です。
これで、Apache が正常にインストールされました。休憩して、音楽を聴いて、インストールの次のステップを開始できます:)
3.php のインストール
php-4.3.3-Win32.zip を解凍し、d:serverphp ディレクトリに移動し、PHP プログラムを解析できるように PHP と Apache を設定します。
d:serverphp ディレクトリの「php.ini-dist」の名前を「php.ini」に変更し、C:windowssystem32 にコピーします。
(Win2K ディレクトリ: C:winntsystem32)、Apache 構成ファイル httpd.conf に次の行を入力して、php をサポートするようにします。
ScriptAlias /php/ "d:/server/php/"
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
アクション application/x-httpd-php "/php/php.exe"
次の内容を含む Web ページを作成します:index.php を d:serverwww に作成します。
<html>
<head><title>php テスト</title></head>
<?php
phpinfo();
?>
</html>
テキストエディタで編集し、index.phpとして保存し、Apacheを再起動し、IEでhttp://localhost/index.phpと入力し、phpの環境変数が表示されれば、phpが正常にインストールされたことを意味します。<を解析できません。 ?php phpinfo() ?> は、インストールが成功しなかったことを意味します。
4.Tomcatのインストール
インストールファイルはjakarta-tomcat-4.1.30.exeを使用しました。インストールディレクトリはWindowsの「OK」をクリックするだけです。
d:サーバートムキャット
以下の環境変数を設定します。
jdk の環境変数と同様に、変数 TOMCAT_HOME を追加します。値は d:servertomcat です。変数 CATALINA_HOME を追加します。値は次のとおりです。
d:tomcatserver、d:servertomcatbin をパス変数に追加します。
次に、tomcat を起動し、tomcat ディレクトリ内の bin/startup.bat ファイルを実行します。tomcat 実行コンソールが表示され、tomcat が正常に起動します。
IE にhttp://localhost:8080/と入力すると、Tomcat のインストールは成功しています。
ステップ 1: mysql-max-3.23.46a-win.zip を解凍し、mysql インストール ファイルを実行します
。
、mysqlをd:servermysqlにインストールします。
ステップ 2: d:servermysqlbin を環境変数パスに追加します
ステップ 3: d:servermysqlbin ディレクトリに移動し、winmysqladmin を実行します。ダイアログ ボックスが表示されます。アカウントは root、パスワードは 123 であるとします。
ステップ 4: dos と入力し、mysql/bin と入力し、次のコマンドを実行して mysql を開きます
mysqld-nt --スタンドアロン
次に、mysqlが開きます
次に、次を実行します。
mysql
オンにすると、次のテキストが表示されます。
MySQL モニターへようこそ。Commons は ; または g で終わります。
MySQL 接続 ID は 1 で、サーバーのバージョンは 3.23.46-nt です。
ヘルプについては「help;」または「h」と入力し、バッファをクリアするには「c」と入力します。
mysql>
注: 現時点では、mysql にパスワードが設定されていません。他の人がデータベースにアクセスできないようにするために、mysql にパスワードを設定してください。具体的な操作については、mysql を参照してください。
中国語のドキュメント。
この時点で、mysql は正常にインストールされています。
6. MySQL ドライバー クラス jdbc をインストールします。
jdbc ドライバー パッケージを解凍し、その中の org フォルダーを jsp が見つかる場所にコピーします。 Tomcat のルート ディレクトリ common/classes にすることができます。
フォルダー、または JSP Web サイト クラス WEB-INF/class/ の下に置くこともできます。これにより、ドライバーのロード時に関連するクラスが見つかるようになります。または、jdbc パッケージのパスをクラスパス変数に追加します。
7. TomcatとApacheの統合構成
Tomcat は、*.jsp ファイルを解析するために使用される単なるコンテナです。静的な htm/html ファイルを解析する機能は、Apache よりもはるかに劣ります。
統合後は、Apache を使用して同じポート上の静的 Web ページを解析し、*.jsp Web ページが見つかると、解析のために Tomcat に渡されます。
ステップ 1: mod_jk.dll を Apache ルート ディレクトリのモジュール フォルダーにコピーします。
ステップ 2:
Apache ルート ディレクトリで confhttpd.conf を開き
、次のステートメントを追加するように APACHE を設定します:
#-------------------------- ------ -------------
#ajp13 を使用して Tomcat に接続する
LoadModule jk_module モジュール/mod_jk.dll
JkWorkersFile "d:/server/tomcat/conf/workers.properties"
JKMount /servlet/* ajp13
JkMount /*.jsp ajp13
#------------------------------------------------ - ---
注: 上記のステートメントの基本的な意味は次のとおりです。
loadModule の 1 行: Tomcat と通信するために mod_jk.dll ダイナミック リンク ライブラリ モジュールをロードします。
jkWorkersFile: 作業時の Tomcat 関連ファイル works.properties の場所を示します。
jkMount: 2 行は、*.jsp とサーブレットが検出されると、それらが ajp13 プロトコルに渡されてから、処理のために Tomcat に転送されることを示します。
ステップ 3:workers.properties ファイルを作成する tomcat のルート ディレクトリ conf に、workers.properties ファイルを作成します。
works.tomcat_home=d:servertomcat
works.java_home=d:serverj2sdk1.4.0
ps=
#worker.list=ajp13
worker.list=ajp12,ajp13
worker.ajp12.port=8007
worker.ajp12.host=localhost
ワーカー.ajp12.type=ajp12
ワーカー.ajp12.lbfactor=1
ワーカー.ajp13.port=8009
worker.ajp13.host=localhost
ワーカー.ajp13.type=ajp13
ワーカー.ajp13.lbfactor=1
ワーカー.ロードバランサー.タイプ=ポンド ワーカー
.ロードバランサー.バランスワーカー=ajp12, ajp13
ワーカー.インプロセス.タイプ=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar
ワーカー。 inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$ (ps)servlet.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar
worker.inprocess.class_path=$(workers.java_home)$(ps) )lib$(ps)tools.jarworker.inprocess.cmd_line
=
-configworker.inprocess.cmd_line
=$
(workers.tomcat_home)/conf/jni_server.xmlworker.inprocess.cmd_line=-homeworker.inprocess.cmd_line=$
(workers.tomcat_home)
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
ワーカー.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout
ワーカー.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr
ワーカー.inprocess.sysprops=tomcat.home=$( works.tomcat_home)
上記のファイルの 1 行目と 2 行目に、tomcat と jdk の関連ディレクトリを入力することに注意してください。
ステップ 4: tomca/conf の下に server.xml ファイルを設定します。これは、tomcat の主要な設定ファイルです。
1. 仮想ディレクトリの設定:
以下を見つけてください。
<ホスト名="localhost" debug="0" appBase="/webapps"
unpackWARs="true" autoDeploy="true">
次のように変更します。
<ホスト名="localhost" debug="0" appBase="d:/server/www"
unpackWARs="true" autoDeploy="true">
Tomcat ホーム ディレクトリを d:serverwww にします。
以下を見つけてください。
<Context path="examples" docBase="/examples" debug="0"
reloadable="true"crossContext="true">
に変更します
<コンテキストパス="" docBase="/" デバッグ="0"
reloadable="true"crossContext="true">
これについての私の理解は、tomcat のルート ディレクトリにある jsp を仮想ホストとして使用する必要があるということです。
2. Tomcat リスニング ポートを設定し、次の内容を見つけます。
<コネクタクラス名="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="5" maxProcessors="75"
EnableLookups="true" リダイレクトポート="8443"
acceptCount="100" debug="0" connectionTimeout="0"
useURIValidationHack="false" disableUploadTimeout="true" />
デフォルトのポートは 8080 ですが、これを 8123 に変更すると、次のようになります。
<コネクタクラス名="org.apache.coyote.tomcat4.CoyoteConnector"
port="8123" minProcessors="5" maxProcessors="75"
EnableLookups="true" リダイレクトポート="8443"
acceptCount="100" debug="0" connectionTimeout="0"
useURIValidationHack="false" disableUploadTimeout="true" />
3. 次の 8009 ポートを見つけます。これは非常に重要です。Tomcat と Apache は 8009 を通じて通信します。次の部分が <!----> でコメント化されている場合は、必ず <!----> を削除してください。 。
<!-- ポート 8009 で Coyote/JK2 AJP 1.3 コネクタを定義します -->
<コネクタクラス名="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="75"
EnableLookups="true" リダイレクトポート="8443"
acceptCount="10" デバッグ="0" connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
ステップ 5: Tomcat の conf/web.xml ファイルを構成します。
Apache での 404 エラー ページの設定と同様に、最後の </web-app> 行の前に次のコンテンツを追加します。
<エラーページ>
<エラーコード>404</エラーコード>
<場所>/error/noFile.htm</場所>
</エラーページ>
<エラーページ>
<例外タイプ>java.lang.NullPointerException</例外タイプ>
<場所>/error/error.jsp</location>
</エラーページ>
最初の <error-page></error-page> は、404 not found JSP ページのエラー指向のページです。そのため、404 エラーが発生したときに、
Web ページは /error/noFile.htm にリダイレクトされます。同様の方法を使用して、他のエラー コードをページに追加することもできます。
2 番目の <error-page></error-page> の間のページは、JSP Web ページで java.lang.NullPointerException が発生したときに /error/error.jsp エラー ページに送られます。次に、次のコンテンツを JSP ページに追加する必要があります。
<%@ ページ errorPage="/error/error.jsp" %>
一般的な error.jsp エラー ページ プログラムは次のように記述されます。
<%@ page contentType="text/html;charset=GB2312"%>
<%@ ページ isErrorPage="true"%>
<html>
<head><title>エラーページ</title></head>
<body>
問題が発生しました:</p> エラー メッセージ: <%=例外.getMessage() %><br>
スタック トレース: <pre><font color="red"><%
java.io.CharArrayWriter cw = 新しい java.io.CharArrayWriter();
java.io.PrintWriter pw = 新しい java.io.PrintWriter(cw,true);
例外.printStackTrace(pw);
out.println(cw.toString());
%></font></pre>
</body>
</html>
NullPointerException が発生すると、tomcat は Web ページを error.jsp にインポートし、エラー メッセージを出力します。
5 番目のステップは主にセキュリティを考慮したもので、Web ページが見つからない場合、クライアントで 404 エラーまたは JSP プログラム エラーが発生します。
次のような情報がリストされます (Tomcat を例に挙げると、樹脂も同様です)。
HTTP ステータス 404 - /sdags.jsp
-------------------------------------- ------ -------------------------------------
ステータス レポート
メッセージ /sdags と入力します。 jsp の
説明 要求されたリソース (/sdags.jsp) は利用できません。
-------------------------------------------------- -----------------------------
Apache Tomcat/5.0.19
このようにして、手順 5 の設定が完了していれば、サーバーのバージョンが他の人に見えるようになります。
ステップ 6: httpd.conf ファイルを構成する
この方法では、Tomcat と Apache のルート ディレクトリを同じディレクトリに設定しますが、クラスの保存など、ディレクトリ内の一部のファイルへの顧客のアクセスを制限する必要があります。
web-inf の場合、httpd.conf の下に次のコードを追加します。
#WEB-INF へのアクセスを拒否する
<ディレクトリ ~ "/WEB-INF/">
注文の許可、拒否
全員から拒否
</ディレクトリ>
このようにすると、 http://localhost/web-inf/ を覚えようとしても、Apache は拒否します。
この時点で、tomcat と apache の統合は完了します。tomcat と apache を再起動します。
jsp Web ページを d:serverwww の下に置きます。例:
<html>
<h1>JSP テスト<hr>
<%out.println("Hello World!");%>
</html>
Index.jsp として保存し、IE にhttp://localhost:8123/index.jspと入力します。
それが現れたら
「こんにちは世界」
Tomcat が正常に実行されていると説明しました。IE にhttp://localhost/index.jspも表示されたら入力します。
「こんにちは世界」
おめでとうございます! 統合は成功しました。JSP の長くて困難な道のりに大きな一歩を踏み出しました~!
上記の統合記事は急いで完成させたので、いくつかの間違いがあるかもしれません。あるいはいくつかの考慮されていない側面もありますが、全体的には問題ないはずです
この方法を繰り返して統合することに成功しました。ご質問がございましたら、直接私にご連絡ください。
ムーンズバード: メール:[email protected]
http://blog.csdn.net/jangill/archive/2007/03/18/1532857.aspx