1. Autor: pájaro lunar
Título: Resumen de la experiencia de configuración de integración del servidor para Apache+Tomcat+MySQL+jsp+php en Windows
Hora: 2004.8.19
Publicado originalmente en la estación Jincheng de la Universidad Southwest Jiaotong
2. Este artículo es un resumen de la experiencia del autor en el aprendizaje del entorno del servidor jsp/configuración en los últimos años. Se puede reproducir, pero indique la fuente.
Ha pasado mucho tiempo desde que comencé a aprender jsp. Hay muchos ejemplos de integración de jsp en Internet, pero hay muchos problemas.
Para la integración de Apache+Tomcat+MySQL+jsp+php, existen ligeras diferencias para las diferentes versiones de Tomcat y Apache.
Incluso si su texto electrónico es bueno, si lee los manuales de Tomcat y Apache, es posible que no pueda integrarlos completamente con éxito. Estoy en casa durante las vacaciones de verano y la velocidad de Internet no es tan lenta como la de la Universidad de Jiaotong; es tan lenta como la del auto de un viejo revendedor, por lo que, basándose en esto, el autor consultó una gran cantidad de información en línea y Absorbí su esencia. Escribí este artículo con la esperanza de brindar comodidad a los principiantes y también servir como un manual de referencia para maestros.
jsp es excelente. Está basado en la tecnología Java y utiliza JavaBean/Servlet para crear sitios web dinámicos. La potente programación orientada a objetos de Java le da a Jsp ventajas únicas sobre php y asp. Pero aprender jsp es difícil en comparación con php y asp.
Creo que una de las razones es que la configuración del entorno del servidor jsp es un poco más complicada. Para la producción de páginas web dinámicas, ASP ha tenido la ventaja en la Universidad de Jiaotong durante mucho tiempo. No hay muchos "expertos" (quizás mucha gente piensa que los que usan jsp son expertos) usan jsp, y la Universidad de Jiaotong es más. exitoso.
sitios web jsp como Century Star Network (Tomcat), sitio web del Online Education Institute (Resin), Red de Admisiones y Empleo de la Universidad Jiaotong (Tomcat), el servidor es
Linux 9 se ejecuta relativamente estable y confiable. Una vez publiqué un artículo sobre la integración de Apache y Tomcat en Linux. Si lo necesita, búsquelo en Jincheng. Las ideas de integración en Linux y Windows son las mismas: use Apache para analizar *.html/*.htm
Para páginas web estáticas, cuando se encuentra *.jsp y servlet, la página jsp se envía a Tomcat (o
resin), es un poco más problemático compilar este módulo en Linux. Este artículo utiliza un módulo listo para usar en win para completar la integración.
Sin más preámbulos, comencemos a integrar:
Software requerido
(1) j2sdk-1_4_2-windows-i586.exe
La versión de jdk no es muy relevante y no afecta la integración de Apache y Tomcat. Solo preste atención al configurar las variables de entorno.
(2) apache_2.0.49-win32-x86-no_ssl.exe
La versión de Apache no tiene mucho impacto en la integración, pero es mejor aprovechar esta versión.
(3)jakarta-tomcat-4.1.30.exe
Lo mejor es usar esta versión. No he probado otras versiones, lo que puede provocar que falle la integración.
(3) php-4.3.3-Win32.zip
Es un paquete comprimido, simplemente descárgalo y descomprímelo directamente.
(4) mod_jk.dll
Este módulo se coloca en el módulo de Apache y se utiliza para comunicarse entre Tomcat y Apache.
(5) mysql-max-3.23.46a-win.zip
Base de datos mysql, su versión tiene poco impacto en la integración.
(6) controlador jdbc
Controlador MySQL, utilizado al conectarse a la base de datos.
No publicaré la dirección del software anterior. Busque Baidu y Beida Tianwang en línea. Siempre que busque con atención, no debería ser un gran problema. Si realmente no puede encontrarlo, envíeme un correo electrónico. buscarse.
1. Instale j2sdk
En Windows, ejecute directamente el archivo j2sdk-1_4_1_01-windows-i586.exe e instálelo en un directorio de acuerdo con el asistente de instalación, por ejemplo, instálelo en d:serverj2sdk
1. Configure las variables de entorno:
Agregue el valor de la variable variable CLASSPATH como
./;%CLASSPATH%;D:serverj2sdk1.4.0libdt.jar;d:serverj2sdk1.4.0libtools.jar;
d:servidorj2sdk1.4.0bin
Esta configuración garantiza que la clase se pueda encontrar cuando se ejecuta Java.
2. Agregue la variable JAVA_HOME, el valor de la variable es d:serverj2sdk1.4.0
3. En la variable de ruta original, agregue d:serverj2sdk1.4.0bin, para que el comando java se pueda ejecutar sin importar dónde esté.
Reinicie
cmd para ingresar dos, ejecute java y javac para ver si hay alguna respuesta. Si aparece la ayuda del comando, entonces java se instaló correctamente. También puede ejecutar una
prueba de clase pública
.
principal vacío estático público (String args []) {
System.out.println("Ver esto significa que la instalación de Java se realizó correctamente!");
}
}
Guarde el programa anterior en el archivo test.java, debe ser test.java y luego use el comando para compilar
prueba javac.java
Si no hay errores, significa que la compilación fue exitosa. Si hay errores, significa que las variables de entorno de Java no se configuraron correctamente y se acaban de reconfigurar en función de la escritura correcta del programa. Si la compilación es exitosa, ejecute:
prueba de java
Tenga en cuenta que no es java test.java. Si es correcto, simplemente se imprimirá:
Ver esto significa que Java se instaló correctamente. ¡
Gxgx y jdk se instalaron correctamente! Puede continuar con el siguiente paso
2. Instalación de Apache
.
1. Ejecute apache_2.0.49-win32-x86-no_ssl.exe, simplemente haga clic en "Aceptar" y "Aceptar" en el camino, seleccione la ruta
d:servidorgrupo apacheapache2.
En este punto, Apache se ha instalado correctamente y se está ejecutando. Puede verlo ingresando http://localhost/ en IE.
página de inicio de apache. ¡Instalación exitosa!
2. Modificar httpd.conf
El archivo de configuración de Apache es httpd.conf, que se encuentra en la carpeta conf en el directorio raíz de Apache.
(1). Modifique el directorio raíz del sitio web predeterminado:
Cree la carpeta www en d:server como directorio raíz del sitio web
DocumentRoot "D:/servidor/Apache Group/Apache2/htdocs"
Cambiar a DocumentRoot "D:/server/www
(2). Modificar la configuración de los caracteres.
Apache generará caracteres confusos al analizar páginas web chinas.
Modifique AddDefaultCharset ISO-8859-1 a AddDefaultCharset GB2312
(3). Modificar la página de inicio predeterminada.
Al acceder a un directorio, Apache importará automáticamente la página de inicio y la prioridad estará en orden.
Cambie DirectoryIndex index.html index.html.var a
DirectoryIndex index.html index.jsp index.php default.jsp default.php index.html.var
(4).Establecer página de error
Esto será más seguro para su sitio web. Si no está configurado y alguien ingresa una ruta aleatoria después de su URL, se mostrará un error 404.
error y se mostrará el número de versión de su servidor. La configuración del servidor es clara de un vistazo. Para evitar esta situación, puede configurar una página de error.
Cuando se produce un error 404, es decir, no se puede encontrar la página web, dirija al visitante a una página de error
aparecer:
#
# Las respuestas de error personalizables vienen en tres tipos:
# 1) texto sin formato 2) redirecciones locales 3) redirecciones externas
#
# Algunos ejemplos:
#ErrorDocument 500 "El servidor hizo un abucheo".
#Documento de error 404 /missing.html
#Documento de error 404 "/cgi-bin/missing_handler.pl"
#Documento de error 402 http://www.example.com/subscription_info.html
#
Esta parte de httpd.conf, #ErrorDocument 404 /missing.html
Una línea se modifica a ErrorDocument 404 /error/noFile.htm, donde noFile.htm es el siguiente archivo de error en d:serverwwwerror.
Tienes que construirlo tú mismo. Cuando se produce un error 404, ingrese a la página noFile.htm y le indicará que no se encuentra la página web. Entonces será imposible ver la información del software de su servidor. También puede configurar otras páginas orientadas a errores. Consulte la información relevante para conocer los números de error de respuesta http específicos.
Reinicie Apache Si no ocurre nada inesperado, la instalación se realizó correctamente. Coloque la página estática en el directorio d:serverwwwerror para ver si se puede analizar correctamente.
Ingrese cualquiera: http://localhost/sdagasgdasasg.htm y vea si conduce al error 404 que configuró, es decir, la página de error noFile.htm.
¡Éxito!
No entraré en detalles sobre el significado de otros parámetros en Apache. Puede comprobarlo en línea. De hecho, la mejor manera es leer los comentarios en httpd.conf, que ya son muy claros.
Bien, ahora Apache se instaló exitosamente. Puedes tomar un descanso, escuchar algo de música y comenzar el siguiente paso de instalación :)
Instalación de 3.php.
Descomprima php-4.3.3-Win32.zip y vaya al directorio d:serverphp. Configure PHP y Apache para que puedan analizar programas php.
Cambie el nombre de "php.ini-dist" en el directorio d:serverphp a "php.ini" y cópielo en C:windowssystem32
(Directorio Win2K: C:winntsystem32), ingrese las siguientes líneas en el archivo de configuración de Apache httpd.conf para que sea compatible con php.
ScriptAlias /php/ "d:/servidor/php/"
Aplicación AddType/x-httpd-php .php3
Aplicación AddType/x-httpd-php .php
Aplicación AddType/x-httpd-php .phtml
Aplicación de acción/x-httpd-php "/php/php.exe"
Cree una página web: index.php en d:serverwww, con el siguiente contenido:
<html>
<head><title>prueba de php</title></head>
<?php
phpinfo();
?>
</html>
Edítelo con un editor de texto y guárdelo como index.php, reinicie Apache, ingrese http://localhost/index.php en IE, si aparece la variable de entorno de php, significa que php se instaló correctamente. Si no puede analizar <. ?php phpinfo(); ?>, significa que la instalación no fue exitosa.
4. Instalación de Tomcat
Utilicé el archivo de instalación jakarta-tomcat-4.1.30.exe. Simplemente haga clic en "Aceptar" en Windows. Es relativamente simple.
d:servidortomcat
Establezca las variables de entorno a continuación:
Lo mismo que las variables de entorno de jdk, agregue la variable TOMCAT_HOME, el valor es d:servertomcat; agregue la variable CATALINA_HOME, el valor es
d:tomcatserver, agregue d:servertomcatbin a la variable de ruta
A continuación, inicie Tomcat y ejecute el archivo bin/startup.bat en el directorio de Tomcat. Aparece la consola de ejecución de Tomcat y Tomcat se inicia correctamente.
Ingrese http://localhost:8080/ en IE. Si ve Big Cat, la instalación de Tomcat se realizó correctamente.
5. Instale MySQL.
Paso 1: descomprima mysql-max-3.23.46a-win.zip y ejecute el archivo de instalación de mysql. , instale mysql en d:servermysql.
Paso 2: agregue d:servermysqlbin a la ruta de la variable de entorno
Paso 3: Ingrese al directorio d:servermysqlbin y ejecute winmysqladmin. Aparecerá un cuadro de diálogo. Configure la contraseña de usuario de mysql. Suponga que la cuenta es: root y la contraseña es: 123.
Paso 4: Ingrese DOS, ingrese mysql/bin y ejecute el siguiente comando para abrir mysql
mysqld-nt --independiente
Luego se abre mysql
Luego ejecuta:
MySQL
Si está activado, aparece el siguiente texto:
Bienvenido al monitor MySQL. Los términos comunes terminan en ; o g.
Su ID de conexión MySQL es 1 para la versión del servidor: 3.23.46-nt
Escriba 'help;' o 'h' para obtener ayuda. Escriba 'c' para borrar el búfer.
mysql>
Nota: No hay ninguna contraseña establecida para mysql en este momento. Para evitar que otros ingresen a su base de datos, establezca una contraseña para mysql. Para operaciones específicas, consulte mysql.
Documentación china.
¡En este punto, mysql se instaló correctamente!
6. Instale la clase de controlador MySQL jdbc
Descomprima el paquete del controlador jdbc y copie la carpeta org dentro en una ubicación donde se pueda encontrar jsp. Puede ser el directorio raíz común/clases de Tomcat.
carpeta, o puede estar en la clase del sitio web jsp WEB-INF/class/. Para que las clases relevantes se puedan encontrar cuando se carga el controlador. O agregue la ruta del paquete jdbc a la variable classpath.
7. Configuración integrada de Tomcat y Apache
Tomcat es solo un contenedor utilizado para analizar archivos *.jsp. No es un servidor. Su capacidad para analizar archivos htm/html estáticos es muy inferior a la de Apache.
Después de la integración, Apache se usa para analizar páginas web estáticas en el mismo puerto, y cuando se encuentra una página web *.jsp, se entrega a Tomcat para su análisis.
Paso 1: Copie mod_jk.dll a la carpeta del módulo en el directorio raíz de Apache.
Paso 2: Configure APACHE
para abrir confhttpd.conf en el directorio raíz de Apache
y agregue la siguiente declaración:
#-------------------------- ------ -------------
#conectándose a Tomcat usando ajp13
LoadModule jk_module módulos/mod_jk.dll
JkWorkersFile "d:/server/tomcat/conf/workers.properties"
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
#------------------------------------------------- ---
Nota: El significado básico de la declaración anterior es:
Una línea de loadModule: cargue el módulo de biblioteca de enlaces dinámicos mod_jk.dll para comunicarse con Tomcat
jkWorkersFile: indica la ubicación de los archivos relacionados con Tomcat Workers.properties cuando se trabaja
jkMount: dos líneas indican que cuando se encuentran *.jsp y servlet, se entregan al protocolo ajp13 y luego se reenvían a tomcat para su procesamiento.
Paso 3: Cree el archivo Workers.properties. Cree el archivo Workers.properties en el directorio raíz de Tomcat. El contenido es:
trabajadores.tomcat_home=d:servidortomcat
trabajadores.java_home=d:servidorj2sdk1.4.0
ps=
# trabajador.list=ajp13
trabajador.list=ajp12,ajp13
trabajador.ajp12.port=8007
trabajador.ajp12.host=localhost
trabajador.ajp12.type=ajp12
trabajador.ajp12.lbfactor=1
trabajador.ajp13.port=8009
trabajador.ajp13.host=localhost
trabajador.ajp13.type=ajp13
trabajador.ajp13.lbfactor=1
trabajador.loadbalancer.type=lb
trabajador.loadbalancer.balanced_workers=ajp12, ajp13
trabajador.inprocess.type=jni
trabajador.inprocess.class_path=$(workers.tomcat_home)$(ps)clases
trabajador.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar
trabajador.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar
trabajador. inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar
trabajador.inprocess.class_path=$(workers.tomcat_home)$(ps)común$(ps)lib$ (ps)servlet.jar
trabajador.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar
trabajador.inprocess.class_path=$(workers.java_home)$(ps )lib$(ps)tools.jar
trabajador.inprocess.cmd_line=-config
trabajador.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml
trabajador.inprocess.cmd_line=-home
trabajador.inprocess.cmd_line=$ (workers.tomcat_home)
trabajador.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
trabajador.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout
trabajador.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr
trabajador.inprocess.sysprops=tomcat.home=$( Workers.tomcat_home)
Tenga en cuenta que en la primera y segunda líneas del archivo anterior, complete los directorios relacionados de tomcat y jdk.
Paso 4: Configure el archivo server.xml en tomca/conf. Este es el archivo de configuración principal de tomcat. La configuración importante es la siguiente:
1. Configuración del directorio virtual:
Encuentra lo siguiente:
<Nombre de host="localhost" debug="0" appBase="/webapps"
unpackWARs="true" autoDeploy="true">
Modificar a:
<Nombre de host="localhost" debug="0" appBase="d:/server/www"
unpackWARs="true" autoDeploy="true">
Cree el directorio de inicio de Tomcat d:serverwww.
Encuentra lo siguiente:
<Ruta de contexto="ejemplos" docBase="/ejemplos" debug="0"
recargable="verdadero" crossContext="verdadero">
Modificar a
<Ruta de contexto="" docBase="/" debug="0"
recargable="verdadero" crossContext="verdadero">
Según tengo entendido, el jsp en el directorio raíz de Tomcat debe usarse como host virtual.
2. Configure el puerto de escucha de Tomcat y busque el siguiente contenido:
<Conector className="org.apache.coyote.tomcat4.CoyoteConnector"
puerto="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirigirPort="8443"
AcceptCount="100" debug="0" ConnectionTimeout="0"
useURIValidationHack="false" enableUploadTimeout="true" />
El puerto predeterminado es 8080, pero todos lo saben. Es mejor modificarlo a: 8123, entonces es el siguiente.
<Conector className="org.apache.coyote.tomcat4.CoyoteConnector"
puerto="8123" minProcessors="5" maxProcessors="75"
enableLookups="true" redirigirPort="8443"
AcceptCount="100" debug="0" ConnectionTimeout="0"
useURIValidationHack="false" enableUploadTimeout="true" />
3. Encuentre el siguiente puerto 8009. Esto es muy importante. Tomcat y Apache se comunican entre sí a través de 8009. Si <!----> comenta la siguiente parte, asegúrese de eliminar <!---->. .
<!-- Defina un conector Coyote/JK2 AJP 1.3 en el puerto 8009 -->
<Conector className="org.apache.coyote.tomcat4.CoyoteConnector"
puerto="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirigirPort="8443"
AcceptCount="10" debug="0" ConnectionTimeout="0"
useURIValidationHack="falso"
protocoloHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
Paso 5: Configure el archivo conf/web.xml de Tomcat:
De manera similar a la configuración de la página de error 404 en Apache, agregue el siguiente contenido antes de la última línea </web-app>:
<página de error>
<código-error>404</código-error>
<ubicación>/error/noFile.htm</ubicación>
</página-error>
<página de error>
<tipo-excepción>java.lang.NullPointerException</tipo-excepción>
<ubicación>/error/error.jsp</ubicación>
</página-error>
La primera <página de error></página de error> es la página orientada a errores de la página jsp 404 no encontrada, de modo que cuando ocurre un error 404,
La página web está dirigida a /error/noFile.htm. También puede utilizar un método similar para agregar otros códigos de error a la página.
El que está entre la segunda <página de error></página de error> se dirige a la página de error /error/error.jsp cuando se produce una excepción java.lang.NullPointerException en la página web jsp. Luego debe agregar el siguiente contenido a la página jsp:
<%@ página errorPage="/error/error.jsp" %>
Un programa típico de página de error error.jsp se escribe de la siguiente manera:
<%@ página contentType="text/html;charset=GB2312"%>
<%@ página isErrorPage="true"%>
<html>
<head><title>Página de error</title></head>
<body>
Algo salió mal:</p> Mensaje de error: <%= excepción.getMessage() %><br>
El seguimiento de la pila es: <pre><font color="red"><%
java.io.CharArrayWriter cw = nuevo java.io.CharArrayWriter();
java.io.PrintWriter pw = nuevo java.io.PrintWriter(cw,true);
excepción.printStackTrace(pw);
out.println(cw.toString());
%></font></pre>
</cuerpo>
</html>
Cuando ocurre una NullPointerException, Tomcat importará la página web a error.jsp e imprimirá el mensaje de error.
El quinto paso es principalmente por consideraciones de seguridad. En circunstancias normales, si no se puede encontrar la página web, se producirá un error 404 o un error del programa jsp en el cliente.
Se enumerará información similar a la siguiente (tomando Tomcat como ejemplo, la resina es similar):
Estado HTTP 404 - /sdags.jsp
------------------------------------------ ------ -------------------------------------
escriba
Mensaje de informe de estado /sdags.
descripciónjsp
El recurso solicitado (/sdags.jsp) no está disponible.
-------------------------------------------------- -------------------------------
Apache Tomcat/5.0.19
De esta manera, otros verán la versión del servidor. Si se completa la configuración en el paso 5, esta situación no ocurrirá.
Paso 6: configurar el archivo httpd.conf
Este método establece los directorios raíz de Tomcat y Apache en el mismo directorio, pero debe restringir el acceso del cliente a algunos archivos en el directorio, como guardar clases.
web-inf, agregue el siguiente código en httpd.conf:
#denegar el acceso a WEB-INF
<Directorio ~ "/WEB-INF/">
Orden permitida, denegada
Negar de todos
</Directorio>
De esta manera, al intentar recordar http://localhost/web-inf/ , Apache se negará.
En este punto, se completa la integración de Tomcat y Apache.
Coloque la página web jsp en d:serverwww, por ejemplo:
<html>
<h1>Prueba JSP<hr>
<%out.println("¡Hola mundo!");%>
</html>
Guarde como index.jsp, ingrese http://localhost:8123/index.jsp en IE
si aparece
¡Hola Mundo!
Acabo de explicar que Tomcat se está ejecutando normalmente, ingrese http://localhost/index.jsp en IE, si también aparece
¡Hola Mundo!
¡Felicitaciones! La integración fue exitosa. Ha dado un gran paso en el largo y arduo camino de jsp ~.
Completé el artículo de integración anterior a toda prisa y puede haber algunos errores. o algunos aspectos mal considerados, pero en general debería estar bien
Es un gran problema. Lo integré con éxito usando este método repetidamente. Si tienes alguna pregunta, puedes contactarme directamente.
pájaro lunar: correo:[email protected]
http://blog.csdn.net/jangill/archive/2007/03/18/1532857.aspx