1. Auteur : oiseau de lune
Titre : Résumé de l'expérience de configuration de l'intégration de serveur pour Apache+Tomcat+MySQL+jsp+php sous Windows
Heure : 2004.8.19
Publié à l'origine à la station Jincheng de l'Université Jiaotong du Sud-Ouest
2. Cet article est un résumé de l'expérience de l'auteur dans l'apprentissage de l'environnement serveur jsp/configuration au cours des dernières années. Il peut être reproduit, mais veuillez en indiquer la source.
Cela fait longtemps que j'ai commencé à apprendre jsp. Il existe de nombreux exemples d'intégration jsp sur Internet, mais il existe de nombreux problèmes.
Pour l'intégration d'Apache+Tomcat+MySQL+jsp+php, il existe de légères différences selon les versions de Tomcat et d'Apache.
Même si votre texte électronique est bon, si vous lisez les manuels de Tomcat et d'Apache, vous ne pourrez peut-être pas les intégrer pleinement avec succès. Je suis à la maison pendant les vacances d'été et la vitesse d'Internet n'est pas aussi lente que celle de l'Université de Jiaotong --- elle est aussi lente que la voiture d'un vieux scalpeur, donc sur cette base, l'auteur a consulté une grande quantité d'informations en ligne et absorbé son essence. J'ai écrit cet article dans l'espoir de faciliter la tâche des débutants et de servir également de manuel de référence pour le maître.
jsp est excellent. Il est basé sur la technologie Java et utilise JavaBean/Servlet pour créer des sites Web dynamiques. La puissante programmation orientée objet de Java offre à Jsp des avantages uniques par rapport à php et asp. Mais apprendre jsp est difficile par rapport à php et asp.
Je pense que l'une des raisons est que la configuration de l'environnement du serveur jsp est un peu plus délicate. Pour la production de pages Web dynamiques, ASP a eu le dessus depuis longtemps à l'Université de Jiaotong. Il n'y a pas beaucoup d'"experts" (peut-être que beaucoup de gens pensent que ceux qui utilisent jsp sont des experts) utilisent jsp, et l'Université de Jiaotong l'est davantage. réussi.
jsp tels que Century Star Network (Tomcat), le site Web du Online Education Institute (Resin), le Jiaotong University Admissions and Employment Network (Tomcat), le serveur est
Linux 9 fonctionne relativement stable et fiable. J'ai publié une fois un article sur l'intégration d'Apache et Tomcat sous Linux. Si vous en avez besoin, veuillez le rechercher dans Jincheng. Les idées d'intégration sous Linux et Windows sont les mêmes, en utilisant Apache pour analyser *.html/*.htm
Pour les pages Web statiques, lorsque vous rencontrez *.jsp et servlet, la page jsp est envoyée à Tomcat (ou
resin), il est un peu plus compliqué de réaliser ce module en le compilant sous Linux. Cet article utilise un module prêt à l'emploi sous win pour compléter l'intégration.
Sans plus tarder, commençons l’intégration :
Logiciels requis
(1) j2sdk-1_4_2-windows-i586.exe
La version de jdk n'est pas très pertinente et n'affecte pas l'intégration d'Apache et Tomcat. Faites juste attention lors de la configuration des variables d'environnement.
(2) apache_2.0.49-win32-x86-no_ssl.exe
La version Apache n'a pas beaucoup d'impact sur l'intégration, mais il est préférable de profiter de cette version.
(3)jakarta-tomcat-4.1.30.exe
Il est préférable d'utiliser cette version. Je n'ai pas essayé d'autres versions, ce qui pourrait entraîner l'échec de l'intégration.
(3) php-4.3.3-Win32.zip
Il s'agit d'un package compressé, il suffit de le télécharger et de le décompresser directement.
(4) mod_jk.dll
Ce module est placé dans le module Apache et est utilisé pour communiquer entre Tomcat et Apache.
(5) mysql-max-3.23.46a-win.zip
Base de données mysql, sa version a peu d'impact sur l'intégration.
(6) pilote jdbc
pilote mysql, utilisé lors de la connexion à la base de données
Je ne publierai pas l'adresse du logiciel ci-dessus. Recherchez Baidu et Beida Tianwang en ligne. Tant que vous recherchez soigneusement, cela ne devrait pas être un gros problème. Si vous ne le trouvez vraiment pas, envoyez-moi simplement un e-mail à. demandez-le.
1. Installez j2sdk
Sous Windows, exécutez directement le fichier j2sdk-1_4_1_01-windows-i586.exe téléchargé et installez-le dans un répertoire selon l'assistant d'installation, par exemple, installez-le sur d:serverj2sdk
1. Configurez les variables d'environnement :
Ajouter la valeur de la variable variable CLASSPATH comme
./;%CLASSPATH%;D:serverj2sdk1.4.0libdt.jar;d:serverj2sdk1.4.0libtools.jar;
d:serveurj2sdk1.4.0bin
Cette configuration garantit que la classe class peut être trouvée lorsque Java est en cours d'exécution.
2. Ajoutez la variable JAVA_HOME, la valeur de la variable est d:serverj2sdk1.4.0
3. Dans la variable de chemin d'origine, ajoutez d:serverj2sdk1.4.0bin, afin que la commande java puisse être exécutée où qu'elle se trouve.
Redémarrez
cmd pour entrer dos, exécutez java et javac pour voir s'il y a une réponse. Si l'aide de la commande apparaît, alors java est installé avec succès. Vous pouvez également exécuter un
test de classe publique {
.
public static void main(String args[]){
System.out.println("Voir ceci signifie que l'installation de Java a réussi !");
}
}
Stockez le programme ci-dessus dans le fichier test.java, il doit s'agir de test.java, puis utilisez la commande pour compiler
javac test.java
S'il n'y a pas d'erreurs, cela signifie que la compilation a réussi. S'il y a des erreurs, cela signifie que les variables d'environnement Java n'ont pas été configurées correctement et ont juste été reconfigurées en fonction de l'écriture correcte du programme. Si la compilation réussit, exécutez :
test Java
Attention, pas Java test.java ! Si c'est correct, il s'affichera simplement :
Voir cela signifie que Java est installé avec succès !
Vous pouvez passer à l'étape suivante
2. Installation d'Apache
!
1. Exécutez apache_2.0.49-win32-x86-no_ssl.exe, cliquez simplement sur "OK" et "Accepter" en cours de route, sélectionnez le chemin
d:serveurgroupe apacheapache2.
À ce stade, Apache a été installé avec succès et est en cours d'exécution. Vous pouvez le voir en entrant http://localhost/ dans IE.
la page d'accueil d'Apache. Installation réussie !
2. Modifiez httpd.conf
Le fichier de configuration d'Apache est httpd.conf, qui se trouve dans le dossier conf sous le répertoire racine d'Apache.
(1). Modifiez le répertoire racine par défaut du site Web :
Créez le dossier www sous d:server comme répertoire racine du site Web
DocumentRoot "D:/server/Apache Group/Apache2/htdocs"
Remplacez DocumentRoot "D:/server/www
(2). Modifier les paramètres du personnage
Apache générera des caractères tronqués lors de l'analyse des pages Web chinoises.
Modifier AddDefaultCharset ISO-8859-1 en AddDefaultCharset GB2312
(3). Modifier la page d'accueil par défaut
Lors de l'accès à un répertoire, Apache importera automatiquement la page d'accueil, et la priorité sera dans l'ordre.
Remplacez DirectoryIndex index.html index.html.var par
DirectoryIndex index.html index.jsp index.php default.jsp default.php index.html.var
(4).Définir la page d'erreur
Ce sera plus sûr pour votre site Web. S'il n'est pas défini et que quelqu'un d'autre saisit un chemin aléatoire après votre URL, une erreur 404 s'affichera.
erreur, et le numéro de version de votre serveur sera affiché. La configuration du serveur est claire en un coup d'œil. Pour éviter cette situation, vous pouvez configurer une page d'erreur.
Lorsqu'une erreur 404 se produit, c'est-à-dire que la page Web est introuvable, dirigez le visiteur vers une page d'erreur
venez:
#
# Les réponses d'erreur personnalisables se déclinent en trois versions :
# 1) texte brut 2) redirections locales 3) redirections externes
#
# Quelques exemples :
#ErrorDocument 500 "Le serveur a fait un hué."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
Cette partie de httpd.conf, #ErrorDocument 404 /missing.html
Une ligne est modifiée en ErrorDocument 404 /error/noFile.htm, où noFile.htm est le fichier d'erreur suivant dans d:serverwwwerror.
Vous devez le construire vous-même. Lorsqu'une erreur 404 se produit, accédez à la page noFile.htm et il vous sera demandé que la page Web n'est pas trouvée. Il sera alors impossible de voir les informations du logiciel de votre serveur. Vous pouvez également configurer d'autres pages orientées erreurs. Veuillez vous référer aux informations pertinentes pour les numéros d'erreur de réponse http spécifiques.
Redémarrez Apache. Si rien d'inattendu ne se produit, l'installation a réussi. Placez la page statique dans le répertoire d:serverwwwerror pour voir si elle peut être analysée avec succès.
Entrez n'importe lequel : http://localhost/sdagasgdasasg.htm et voyez si cela conduit à l'erreur 404 que vous avez définie, c'est-à-dire la page d'erreur noFile.htm.
Succès!
Je n'entrerai pas dans les détails sur la signification des autres paramètres dans Apache. Vous pouvez le vérifier en ligne. En fait, le meilleur moyen est de lire les commentaires dans httpd.conf, qui sont déjà très clairs.
D'accord, maintenant Apache est installé avec succès. Vous pouvez faire une pause, écouter de la musique et commencer la prochaine étape de l'installation :)
3.installation de php.
Décompressez php-4.3.3-Win32.zip et accédez au répertoire d:serverphp. Configurez PHP et Apache afin qu'ils puissent analyser les programmes php.
Renommez "php.ini-dist" dans le répertoire d:serverphp en "php.ini" et copiez-le dans C:windowssystem32
(répertoire Win2K : C:winntsystem32), entrez les lignes suivantes dans le fichier de configuration apache httpd.conf pour qu'il supporte php.
ScriptAlias /php/ "d:/server/php/"
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action application/x-httpd-php "/php/php.exe"
Créez une page web : index.php sous d:serverwww, avec le contenu suivant :
<html>
<head><title>test php</title></head>
<?php
phpinfo();
?>
</html>
Modifiez-le avec un éditeur de texte et enregistrez-le sous index.php, redémarrez Apache, entrez http://localhost/index.php dans IE, si la variable d'environnement de php apparaît, cela signifie que php est installé avec succès. S'il ne peut pas analyser <. ?php phpinfo( ?>, cela signifie que l'installation n'a pas réussi.
4. Installation de Tomcat
J'ai utilisé le fichier d'installation jakarta-tomcat-4.1.30.exe. Cliquez simplement sur "OK" sous Windows. Le répertoire d'installation est relativement simple.
d:serveurtomcat
Définissez les variables d'environnement ci-dessous :
Identique aux variables d'environnement de jdk, ajoutez la variable TOMCAT_HOME, la valeur est d:servertomcat ; ajoutez la variable CATALINA_HOME, la valeur est
d:tomcatserver, ajoutez d:servertomcatbin à la variable de chemin
Ensuite, démarrez Tomcat et exécutez le fichier bin/startup.bat dans le répertoire Tomcat. La console d'exécution de Tomcat apparaît et Tomcat démarre avec succès.
Entrez http://localhost:8080/ dans IE. Si vous voyez Big Cat, l'installation de Tomcat a réussi.
5. Installez MySQL
Étape 1 : Décompressez mysql-max-3.23.46a-win.zip et exécutez le fichier d'installation mysql. , installez MySQL sur d:servermysql.
Étape 2 : Ajoutez d:servermysqlbin au chemin de la variable d'environnement
Étape 3 : Entrez dans le répertoire d:servermysqlbin et exécutez winmysqladmin. Une boîte de dialogue apparaîtra tout à l'heure. Définissez le mot de passe de l'utilisateur MySQL : root et le mot de passe est : 123.
Étape 4 : Entrez dos, entrez mysql/bin et exécutez la commande suivante pour ouvrir mysql
mysqld-nt --standalone
Ensuite, MySQL est ouvert
Puis exécutez :
mysql
Si cette option est activée, le texte suivant apparaît :
Bienvenue sur le moniteur MySQL Commons se termine par ; ou g.
Votre identifiant de connexion MySQL est 1 pour la version du serveur : 3.23.46-nt
Tapez 'help;' ou 'h' pour obtenir de l'aide. Tapez 'c' pour vider le tampon.
mysql>
Remarque : aucun mot de passe n'est défini pour mysql pour le moment. Afin d'empêcher d'autres personnes d'accéder à votre base de données, veuillez définir un mot de passe pour mysql. Pour des opérations spécifiques, veuillez vous référer à mysql.
Documentation chinoise.
À ce stade, MySQL est installé avec succès !
6. Installez la classe de pilote MySQL jdbc
Décompressez le package du pilote jdbc et copiez le dossier org à l'intérieur vers un emplacement où jsp peut être trouvé. Il peut s'agir du répertoire racine common/classes de Tomcat
dossier, ou il peut se trouver dans la classe du site Web jsp WEB-INF/class/. Afin que les classes pertinentes puissent être trouvées lorsque le pilote est chargé. Ou ajoutez le chemin du package jdbc à la variable classpath.
7. Configuration intégrée de Tomcat et Apache
Tomcat est juste un conteneur utilisé pour analyser les fichiers *.jsp. Ce n'est pas un serveur. Sa capacité à analyser les fichiers htm/html statiques est bien inférieure à celle d'Apache.
Après l'intégration, Apache est utilisé pour analyser les pages Web statiques sur le même port, et lorsqu'une page Web *.jsp est rencontrée, elle est transmise à Tomcat pour analyse.
Étape 1 : copiez mod_jk.dll dans le dossier du module dans le répertoire racine d'Apache.
Étape 2 : Configurez APACHE
pour ouvrir confhttpd.conf dans le répertoire racine d'Apache
et ajoutez l'instruction suivante :
#------------------------------ ------ -------------
#connexion à Tomcat en utilisant ajp13
LoadModule jk_module modules/mod_jk.dll
JkWorkersFile "d:/server/tomcat/conf/workers.properties"
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
#------------------------------------------------ - ---
Remarque : La signification fondamentale de la déclaration ci-dessus est :
Une ligne de loadModule : chargez le module de bibliothèque de liens dynamiques mod_jk.dll pour communiquer avec Tomcat
jkWorkersFile : indique l'emplacement des fichiers associés à Tomcat Workers.properties lorsque vous travaillez
jkMount : Deux lignes indiquent que lorsque *.jsp et servlet sont rencontrés, ils sont transmis au protocole ajp13 puis transmis à Tomcat pour traitement.
Étape 3 : Créez le fichier Workers.properties. Créez le fichier Workers.properties dans le répertoire racine de Tomcat. Le contenu est :
Workers.tomcat_home=d:serveurtomcat
Workers.java_home=d:serverj2sdk1.4.0
ps=
# travailleur.list=ajp13
travailleur.list=ajp12,ajp13
travailleur.ajp12.port=8007
travailleur.ajp12.host=localhost
travailleur.ajp12.type=ajp12
travailleur.ajp12.lbfactor=1
travailleur.ajp13.port=8009
travailleur.ajp13.host=localhost
travailleur.ajp13.type=ajp13
travailleur.ajp13.lbfactor=1
travailleur.loadbalancer.type=lb
travailleur.loadbalancer.balanced_workers=ajp12, ajp13
travailleur.inprocess.type=jni
work.inprocess.class_path=$(workers.tomcat_home)$(ps)classes
travailleur.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar
travailleur.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar
travailleur. 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
travailleur.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar
travailleur.inprocess.class_path=$(workers.java_home)$(ps )lib$(ps)tools.jar
travailleur.inprocess.cmd_line=-config
travailleur.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml
travailleur.inprocess.cmd_line=-home
travailleur.inprocess.cmd_line=$ (workers.tomcat_home)
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
travailleur.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout
travailleur.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr
travailleur.inprocess.sysprops=tomcat.home=$( Workers.tomcat_home)
Notez que dans les première et deuxième lignes du fichier ci-dessus, remplissez les répertoires associés de tomcat et jdk.
Étape 4 : Configurez le fichier server.xml sous tomca/conf Il s'agit du fichier de configuration principal de tomcat. La configuration importante est la suivante :
1. Paramètres du répertoire virtuel :
Recherchez les éléments suivants :
<Nom d'hôte="localhost" debug="0" appBase="/webapps"
unpackWARs="true" autoDeploy="true">
Modifier pour :
<Nom d'hôte="localhost" debug="0" appBase="d:/server/www"
unpackWARs="true" autoDeploy="true">
Créez le répertoire personnel Tomcat d:serverwww.
Recherchez les éléments suivants :
<Chemin contextuel="exemples" docBase="/exemples" debug="0"
reloadable="true" crossContext="true">
Modifier pour
<Chemin contextuel="" docBase="/" debug="0"
reloadable="true" crossContext="true">
D'après ce que je comprends, le jsp du répertoire racine de Tomcat doit être utilisé comme hôte virtuel.
2. Définissez le port d'écoute Tomcat et recherchez le contenu suivant :
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="5" maxProcessors="75"
activateLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="0"
useURIValidationHack="false" DisableUploadTimeout="true" />
Le port par défaut est 8080, mais tout le monde le sait. Il est préférable de le modifier en : 8123, alors il est comme suit :
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8123" minProcessors="5" maxProcessors="75"
activateLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="0"
useURIValidationHack="false" DisableUploadTimeout="true" />
3. Recherchez le port 8009 suivant. Ceci est très important. Tomcat et Apache communiquent entre eux via 8009. Si la partie suivante est commentée par <!---->, assurez-vous de supprimer <!---->. .
<!-- Définir un connecteur Coyote/JK2 AJP 1.3 sur le port 8009 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="75"
activateLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
Étape 5 : Configurez le fichier conf/web.xml de Tomcat :
Semblable à la configuration de la page d'erreur 404 sous Apache, ajoutez le contenu suivant avant la dernière ligne </web-app> :
<page d'erreur>
<code-erreur>404</code-erreur>
<emplacement>/error/noFile.htm</emplacement>
</page-d'erreur>
<page d'erreur>
<exception-type>java.lang.NullPointerException</exception-type>
<emplacement>/erreur/erreur.jsp</emplacement>
</page-d'erreur>
La première <error-page></error-page> est la page orientée erreur de la page jsp 404 introuvable, de sorte que lorsqu'une erreur 404 se produit,
La page Web est dirigée vers /error/noFile.htm. Vous pouvez également utiliser une méthode similaire pour ajouter d'autres codes d'erreur à la page.
Celui entre la deuxième <error-page></error-page> est dirigé vers la page d'erreur /error/error.jsp lorsqu'une java.lang.NullPointerException se produit sur la page Web jsp. Ensuite, vous devez ajouter le contenu suivant à la page jsp :
<%@ page errorPage="/error/error.jsp" %>
Un programme typique de page d’erreur error.jsp s’écrit comme suit :
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page isErrorPage="true"%>
<html>
<head><title>Page d'erreur</title></head>
<body>
Quelque chose s'est mal passé :</p> Message d'erreur : <%= exception.getMessage() %><br>
Stack Trace est : <pre><font color="red"><%
java.io.CharArrayWriter cw = new java.io.CharArrayWriter();
java.io.PrintWriter pw = new java.io.PrintWriter(cw,true);
exception.printStackTrace(pw);
out.println(cw.toString());
%></font></pre>
</corps>
</html>
Lorsqu'une NullPointerException se produit, Tomcat importera la page Web dans error.jsp et imprimera le message d'erreur.
La cinquième étape concerne principalement des considérations de sécurité. Dans des circonstances normales, si la page Web est introuvable, une erreur 404 ou une erreur de programme jsp se produira sur le client.
Des informations similaires aux suivantes seront répertoriées (en prenant Tomcat comme exemple, la résine est similaire) :
Statut HTTP 404 - /sdags.jsp
------------------------------------------ ------ -------------------------------------
tapez
Message de rapport d'état /sdags. jsp
description La ressource demandée (/sdags.jsp) n'est pas disponible.
-------------------------------------------------- -------------------------------
Apache Tomcat/5.0.19
De cette façon, la version du serveur sera vue par les autres. Si la configuration de l'étape 5 est terminée, cette situation ne se produira pas.
Étape 6 : Configurez le fichier httpd.conf
Cette méthode définit les répertoires racine de Tomcat et Apache sur le même répertoire, mais doit restreindre l'accès du client à certains fichiers du répertoire, comme la sauvegarde des classes.
web-inf, ajoutez le code suivant sous httpd.conf :
#refuser l'accès à WEB-INF
<Répertoire ~ "/WEB-INF/">
Commande autoriser, refuser
Nier de tous
</Répertoire>
De cette façon, lorsque vous essayez de vous souvenir de http://localhost/web-inf/ , Apache refusera.
À ce stade, l'intégration de Tomcat et Apache est terminée.
Placez la page Web jsp sous d:serverwww, par exemple :
<html>
<h1>Test JSP<hr>
<%out.println("Hello World!");%>
</html>
Enregistrez sous index.jsp, entrez http://localhost:8123/index.jsp dans IE
s'il apparaît
Bonjour le monde!
Je viens d'expliquer que Tomcat fonctionne normalement, entrez http://localhost/index.jsp dans IE, s'il apparaît également
Bonjour le monde!
Félicitations ! L'intégration est réussie. Vous avez fait un grand pas sur le chemin long et ardu de jsp~ !
J'ai terminé l'article d'intégration ci-dessus à la hâte, et il peut y avoir des erreurs. ou quelques aspects inconsidérés, mais dans l'ensemble ça devrait aller
C'est un gros problème. Je l'ai intégré avec succès en utilisant cette méthode à plusieurs reprises. Si vous avez des questions, vous pouvez me contacter directement.
oiseau de lune : mail : [email protected]
http://blog.csdn.net/jangill/archive/2007/03/18/1532857.aspx