1. Autor: pássaro lunar
Título: Resumo da experiência de configuração de integração de servidor para Apache+Tomcat+MySQL+jsp+php no Windows
Hora: 19/08/2004
Publicado originalmente na estação Jincheng da Southwest Jiaotong University
2. Este artigo é um resumo da experiência do autor no aprendizado do ambiente de servidor jsp/configuração nos últimos anos. Pode ser reproduzido, mas indique a fonte.
Já faz muito tempo que comecei a aprender jsp. Existem muitos exemplos de integração jsp na Internet, mas existem muitos problemas.
Para a integração do Apache+Tomcat+MySQL+jsp+php, existem pequenas diferenças para diferentes versões do Tomcat e do Apache.
Mesmo que o seu E-text seja bom, se você ler os manuais do Tomcat e do Apache, talvez não consiga integrá-los totalmente com sucesso. Estou em casa durante as férias de verão e a velocidade da Internet não é tão lenta quanto a da Universidade Jiaotong --- é tão lenta quanto o carro de um cambista velho, então, com base nisso, o autor consultou uma grande quantidade de informações online e absorvi sua essência. Escrevi este artigo na esperança de proporcionar comodidade para iniciantes e também servir como um manual de referência para o mestre.
jsp é excelente. Ele é baseado na tecnologia Java e usa JavaBean/Servlet para criar sites dinâmicos. A poderosa programação orientada a objetos do Java oferece vantagens exclusivas ao Jsp sobre php e asp. Mas aprender jsp é difícil comparado a php e asp.
Acho que um dos motivos é que a configuração do ambiente do servidor jsp é um pouco mais complicada. Para a produção de páginas web dinâmicas, o ASP está em vantagem na Universidade Jiaotong há muito tempo. Não há muitos "especialistas" (talvez muitas pessoas pensem que aqueles que usam jsp são especialistas) usam jsp, e a Universidade Jiaotong é mais. bem-sucedido.
sites jsp, como Century Star Network (Tomcat), site do Online Education Institute (Resin), Jiaotong University Admissions and Employment Network (Tomcat), o servidor é
O Linux 9 funciona relativamente estável e confiável. Certa vez, publiquei um artigo sobre a integração do Apache e do Tomcat no Linux. Se precisar, pesquise em Jincheng. As ideias de integração no Linux e no Windows são as mesmas, usando o apache para analisar *.html/*.htm
Para páginas da web estáticas, ao encontrar *.jsp e servlet, a página jsp é lançada para o Tomcat (ou
resina), é um pouco mais problemático fazer este módulo compilando-o no Linux. Este artigo usa um módulo pronto no win para completar a integração.
Sem mais delongas, vamos começar a integrar:
Software necessário
(1) j2sdk-1_4_2-windows-i586.exe
A versão do jdk não é muito relevante e não afeta a integração do Apache e Tomcat. Basta prestar atenção ao configurar variáveis de ambiente.
(2) apache_2.0.49-win32-x86-no_ssl.exe
A versão apache não tem muito impacto na integração, mas é melhor aproveitar esta versão.
(3) jakarta-tomcat-4.1.30.exe
É melhor usar esta versão. Não tentei outras versões, o que pode causar falha na integração.
(3) php-4.3.3-Win32.zip
É um pacote compactado, basta baixá-lo e descompactá-lo diretamente.
(4) mod_jk.dll
Este módulo é colocado no módulo do Apache e é usado para comunicação entre o Tomcat e o Apache.
(5) mysql-max-3.23.46a-win.zip
Banco de dados mysql, sua versão tem pouco impacto na integração.
(6) driver jdbc
driver mysql, usado ao conectar ao banco de dados
Não vou postar o endereço do software acima. Pesquise Baidu e Beida Tianwang online. Contanto que você pesquise com cuidado, não será um grande problema. Se você realmente não conseguir encontrá-lo, envie-me um e-mail para. peça por isso.
1. Instale o j2sdk
No Windows, execute diretamente o arquivo j2sdk-1_4_1_01-windows-i586.exe baixado e instale-o em um diretório de acordo com o assistente de instalação, por exemplo, instale em d:serverj2sdk
1. Configure variáveis de ambiente:
Adicione o valor da variável CLASSPATH como
./;%CLASSPATH%;D:servidorj2sdk1.4.0libdt.jar;d:servidorj2sdk1.4.0libtools.jar;
d:servidorj2sdk1.4.0bin
Esta configuração garante que a classe class possa ser encontrada quando o java estiver em execução.
2. Adicione a variável JAVA_HOME, o valor da variável é d:serverj2sdk1.4.0
3. Na variável de caminho original, adicione d:serverj2sdk1.4.0bin, para que o comando java possa ser executado onde quer que esteja.
Reinicie
execute
java e javac para ver se há alguma resposta. Se a ajuda do comando aparecer, então o java foi instalado com sucesso.
public static void main(String args[]){
System.out.println("Ver isso significa que a instalação do Java foi bem-sucedida!");
}
}
Armazene o programa acima no arquivo test.java, deve ser test.java, e então use o comando para compilar
teste javac.java
Se não houver erros, significa que a compilação foi bem-sucedida. Se houver erros, significa que as variáveis de ambiente Java não foram configuradas corretamente e apenas foram reconfiguradas com base na escrita correta do programa. Se a compilação for bem-sucedida, execute:
teste java
Observe, não java test.java! Se estiver correto, será impresso:
Ver isso significa que o java foi instalado com sucesso!
Você
pode prosseguir para a próxima etapa.
1. Execute apache_2.0.49-win32-x86-no_ssl.exe, basta clicar em "OK" e "Aceitar" ao longo do caminho, selecione o caminho
d:servidorgrupo Apacheapache2.
Neste ponto, o Apache foi instalado com sucesso e está em execução. Você pode ver isso digitando http://localhost/ no IE.
página inicial do apache. Instalação bem-sucedida!
2. Modifique httpd.conf
O arquivo de configuração do apache é httpd.conf, que está localizado na pasta conf no diretório raiz do apache.
(1). Modifique o diretório raiz do site padrão:
Crie a pasta www em d:server como o diretório raiz do site
DocumentRoot "D:/servidor/Grupo Apache/Apache2/htdocs"
Mude para DocumentRoot "D:/server/www
(2). Modifique as configurações dos caracteres.
O Apache irá gerar caracteres distorcidos ao analisar páginas da web chinesas.
Modifique AddDefaultCharset ISO-8859-1 para AddDefaultCharset GB2312
(3). Modifique a página inicial padrão.
Ao acessar um diretório, o apache importará automaticamente a página inicial e a prioridade estará em ordem.
Altere DirectoryIndex index.html index.html.var para
DirectoryIndex index.html index.jsp index.php default.jsp default.php index.html.var
(4).Definir página de erro
Isso será mais seguro para o seu site. Se não estiver definido e outra pessoa inserir um caminho aleatório após o seu URL, um erro 404 será exibido.
erro e o número da versão do servidor será exibido. A configuração do servidor é clara rapidamente. Para evitar essa situação, você pode configurar uma página de erro.
Quando ocorrer um erro 404, ou seja, a página web não puder ser encontrada, direcione o visitante para uma página de erro
virar para cima:
#
# As respostas de erro personalizáveis vêm em três sabores:
# 1) texto simples 2) redirecionamentos locais 3) redirecionamentos externos
#
# Alguns exemplos:
#ErrorDocument 500 "O servidor fez um boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
Esta parte do httpd.conf, #ErrorDocument 404 /missing.html
Uma linha é modificada para ErrorDocument 404 /error/noFile.htm, onde noFile.htm é o próximo arquivo de erro em d:serverwwwerror.
Você tem que construí-lo sozinho. Quando ocorrer um erro 404, entre na página noFile.htm e ele avisará que a página da web não foi encontrada. Será então impossível ver as informações do software do seu servidor. Você também pode configurar outras páginas orientadas a erros. Consulte as informações relevantes para obter números de erros de resposta HTTP específicos.
Reinicie o Apache. Se nada inesperado acontecer, a instalação foi bem-sucedida. Coloque a página estática no diretório d:serverwwwerror para ver se ela pode ser analisada com sucesso.
Digite qualquer um: http://localhost/sdagasgdasasg.htm e veja se isso leva ao erro 404 que você definiu, ou seja, a página de erro noFile.htm.
Sucesso!
Não vou entrar em detalhes sobre o significado de outros parâmetros no apache. Na verdade, a melhor maneira é ler os comentários no httpd.conf, que já está bem claro.
Ok, agora o apache foi instalado com sucesso. Você pode fazer uma pausa, ouvir um pouco de música e iniciar a próxima etapa da instalação :)
Instalação 3.php.
Descompacte php-4.3.3-Win32.zip e vá para o diretório d:serverphp Configure o PHP e o Apache para que eles possam analisar programas php.
Renomeie "php.ini-dist" no diretório d:serverphp para "php.ini" e copie-o para C:windowssystem32
(diretório Win2K: C:winntsystem32), insira as seguintes linhas no arquivo de configuração do apache httpd.conf para torná-lo compatível com php.
ScriptAlias /php/ "d:/servidor/php/"
Aplicativo AddType/x-httpd-php .php3
Aplicativo AddType/x-httpd-php .php
Aplicativo AddType/x-httpd-php .phtml
Aplicativo de ação/x-httpd-php "/php/php.exe"
Crie uma página web: index.php em d:serverwww, com o seguinte conteúdo:
<html>
<head><title>teste php</title></head>
<?php
phpinfo();
?>
</html>
Edite-o com um editor de texto e salve-o como index.php, reinicie o apache, digite http://localhost/index.php no IE, se a variável de ambiente do php aparecer, significa que o php foi instalado com sucesso. ?php phpinfo(); ?>, significa que a instalação não foi bem-sucedida.
4. Instalação do Tomcat
Usei o arquivo de instalação jakarta-tomcat-4.1.30.exe. Basta clicar em "OK" no Windows. O diretório de instalação é relativamente simples.
d:servidortomcat
Defina as variáveis de ambiente abaixo:
Igual às variáveis de ambiente do jdk, adicione a variável TOMCAT_HOME, o valor é d:servertomcat;
d:tomcatserver, adicione d:servertomcatbin à variável de caminho
Em seguida, inicie o Tomcat e execute o arquivo bin/startup.bat no diretório do Tomcat. O console em execução do Tomcat aparece e o Tomcat é iniciado com sucesso.
Digite http://localhost:8080/ no IE. Se você vir Big Cat, a instalação do Tomcat foi bem-sucedida.
5. Instale o MySQL
Etapa 1: Descompacte mysql-max-3.23.46a-win.zip e execute o arquivo de instalação do mysql. , instale o mysql em d:servermysql
Etapa 2: adicione d:servermysqlbin ao caminho da variável de ambiente
Etapa 3: Entre no diretório d:servermysqlbin e execute winmysqladmin. Uma caixa de diálogo aparecerá agora. Suponha que a conta seja: root e a senha seja: 123.
Etapa 4: digite dos, digite mysql/bin e execute o seguinte comando para abrir o mysql
mysqld-nt --standalone
Então o mysql é aberto
Então execute:
mysql
Se ativado, o seguinte texto será exibido:
Bem vindo ao monitor MySQL Commons termina com ; ou g.
Seu ID de conexão MySQL é 1 para a versão do servidor: 3.23.46-nt
Digite 'help;' ou 'h' para obter ajuda.
mysql>
Nota: Não há senha definida para mysql no momento. Para evitar que outras pessoas entrem em seu banco de dados, defina uma senha para mysql. Para operações específicas, consulte mysql.
Documentação chinesa.
Neste ponto, o mysql foi instalado com sucesso!
6. Instale a classe de driver MySQL jdbc
Descompacte o pacote do driver jdbc e copie a pasta org para um local onde o jsp possa ser encontrado. Pode ser o diretório raiz common/classes do Tomcat
pasta, ou pode estar na classe do site jsp WEB-INF/class/. Para que as classes relevantes possam ser encontradas quando o driver for carregado. Ou adicione o caminho do pacote jdbc à variável classpath.
7. Configuração integrada de Tomcat e Apache
Tomcat é apenas um contêiner usado para analisar arquivos *.jsp. Não é um servidor. Sua capacidade de analisar arquivos htm/html estáticos é muito inferior ao Apache.
Após a integração, o apache é usado para analisar páginas da web estáticas na mesma porta e, quando uma página da web *.jsp é encontrada, ela é entregue ao Tomcat para análise.
Passo 1: Copie mod_jk.dll para a pasta do módulo no diretório raiz do Apache.
Etapa 2: Configure o APACHE
para abrir confhttpd.conf no diretório raiz do apache
e adicione a seguinte instrução:
#-------------------------- ------ -------------
#conectando ao 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: O significado básico da afirmação acima é:
Uma linha de loadModule: Carregue o módulo da biblioteca de vínculo dinâmico mod_jk.dll para se comunicar com o Tomcat
jkWorkersFile: indica a localização dos arquivos trabalhadores.properties relacionados ao Tomcat ao trabalhar
jkMount: Duas linhas indicam que quando *.jsp e servlet são encontrados, eles são entregues ao protocolo ajp13 e então encaminhados ao Tomcat para processamento.
Etapa 3: Crie o arquivo workers.properties Crie o arquivo workers.properties no diretório raiz do Tomcat. O conteúdo é:
trabalhadores.tomcat_home=d:servidortomcat
trabalhadores.java_home=d:servidorj2sdk1.4.0
ps=
# trabalhador.list=ajp13
trabalhador.list=ajp12,ajp13
trabalhador.ajp12.port=8007
trabalhador.ajp12.host = localhost
trabalhador.ajp12.type=ajp12
trabalhador.ajp12.lbfactor=1
trabalhador.ajp13.port=8009
trabalhador.ajp13.host = localhost
trabalhador.ajp13.type=ajp13
trabalhador.ajp13.lbfactor=1
trabalhador.loadbalancer.type=lb
trabalhador.loadbalancer.balanced_workers=ajp12, ajp13
trabalhador.inprocess.type=jni
trabalhador.inprocess.class_path=$(workers.tomcat_home)$(ps)classes
trabalhador.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar
trabalhador.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar
trabalhador. inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar
trabalhador.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$ (ps)servlet.jar
trabalhador.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar
trabalhador.inprocess.class_path=$(workers.java_home)$(ps )lib$(ps)tools.jar
trabalhador.inprocess.cmd_line=-config
trabalhador.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml
trabalhador.inprocess.cmd_line=-home
trabalhador.inprocess.cmd_line=$ (workers.tomcat_home)
trabalhador.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
trabalhador.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout
trabalhador.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr
trabalhador.inprocess.sysprops=tomcat.home=$( trabalhadores.tomcat_home)
Observe que na primeira e segunda linhas do arquivo acima, preencha os diretórios relacionados do tomcat e jdk.
Etapa 4: Configure o arquivo server.xml em Tomca/conf Este é o arquivo de configuração principal do Tomcat.
1. Configurações do diretório virtual:
Encontre o seguinte:
<Nome do host="localhost" debug="0" appBase="/webapps"
unpackWARs="true" autoDeploy="true">
Modifique para:
<Nome do host="localhost" debug="0" appBase="d:/server/www"
unpackWARs="true" autoDeploy="true">
Crie o diretório inicial do Tomcat d:serverwww.
Encontre o seguinte:
<Context path="examples" docBase="/examples" debug="0"
reloadable="true" crossContext="true">
Modificar para
<Caminho do contexto="" docBase="/" debug="0"
reloadable="true" crossContext="true">
Meu entendimento disso é que o jsp no diretório raiz do Tomcat deve ser usado como um host virtual.
2. Defina a porta de escuta do Tomcat e encontre o seguinte conteúdo:
<Nome da classe do conector = "org.apache.coyote.tomcat4.CoyoteConnector"
porta = "8080" minProcessors = "5" maxProcessors = "75"
enableLookups="true" redireccionamentoPort="8443"
aceitarCount="100" debug="0" connectionTimeout="0"
useURIValidationHack="false" disableUploadTimeout="true" />
A porta padrão é 8080, mas todos sabem disso. É melhor modificá-la para: 8123, então é o seguinte:
<Nome da classe do conector = "org.apache.coyote.tomcat4.CoyoteConnector"
porta = "8123" minProcessors = "5" maxProcessors = "75"
enableLookups="true" redireccionamentoPort="8443"
aceitarCount="100" debug="0" connectionTimeout="0"
useURIValidationHack="false" disableUploadTimeout="true" />
3. Encontre a seguinte porta 8009. Isso é muito importante para que o Tomcat e o Apache se comuniquem entre si por meio de 8009. Se a parte a seguir for comentada por <!---->, certifique-se de remover <!---->. .
<!-- Definir um conector Coyote/JK2 AJP 1.3 na porta 8009 -->
<Nome da classe do conector = "org.apache.coyote.tomcat4.CoyoteConnector"
porta = "8009" minProcessors = "5" maxProcessors = "75"
enableLookups="true" redireccionamentoPort="8443"
aceitarCount="10" debug="0" connectionTimeout="0"
useURIValidationHack = "falso"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
Etapa 5: configure o arquivo conf/web.xml do Tomcat:
Semelhante à configuração da página de erro 404 no Apache, adicione o seguinte conteúdo antes da última linha </web-app>:
<página de erro>
<código de erro>404</código de erro>
<local>/error/noFile.htm</localização>
</error-page>
<página de erro>
<tipo de exceção>java.lang.NullPointerException</tipo de exceção>
<location>/error/error.jsp</location>
</error-page>
A primeira <error-page></error-page> é a página orientada a erros da página jsp 404 não encontrada, de modo que quando ocorrer um erro 404,
A página da web é direcionada para /error/noFile.htm Você também pode usar um método semelhante para adicionar outros códigos de erro à página.
Aquele entre a segunda <error-page></error-page> é direcionado para a página de erro /error/error.jsp quando ocorre um java.lang.NullPointerException na página da web jsp. Então você precisa adicionar o seguinte conteúdo à página jsp:
<%@ page errorPage="/error/error.jsp" %>
Um programa típico de página de erro error.jsp é escrito da seguinte forma:
<%@ page contentType="text/html;charset=GB2312"%>
<%@ página isErrorPage="true"%>
<html>
<head><title>Página de erro</title></head>
<body>
Algo deu errado:</p> Mensagem de erro: <%= exceção.getMessage() %><br>
Stack Trace é: <pre><font color="red"><%
java.io.CharArrayWriter cw = novo java.io.CharArrayWriter();
java.io.PrintWriter pw = novo java.io.PrintWriter(cw,true);
exceção.printStackTrace(pw);
out.println(cw.toString());
%></font></pre>
</body>
</html>
Quando ocorre um NullPointerException, o Tomcat importará a página da web para error.jsp e imprimirá a mensagem de erro.
A quinta etapa é principalmente por questões de segurança. Em circunstâncias normais, se a página da web não puder ser encontrada, ocorrerá um erro 404 ou um erro de programa jsp.
Serão listadas informações semelhantes às seguintes (tomando o Tomcat como exemplo, a resina é semelhante):
Status HTTP 404 - /sdags.jsp
------------------------------------------ ------ -------------------------------------
digite
mensagem de relatório de status /sdags.
descriçãojsp
O recurso solicitado (/sdags.jsp) não está disponível.
-------------------------------------------------- -------------------------------
Apache Tomcat/5.0.19
Desta forma, a versão do servidor será vista por outras pessoas. Se a configuração do passo 5 for concluída, esta situação não ocorrerá.
Etapa 6: configurar o arquivo httpd.conf
Este método define os diretórios raiz do Tomcat e Apache para o mesmo diretório, mas deve restringir o acesso do cliente a alguns arquivos no diretório, como salvar classes
web-inf, adicione o seguinte código em httpd.conf:
#negar o acesso ao WEB-INF
<Diretório ~ "/WEB-INF/">
Ordem permitir, negar
Negar de todos
</Diretório>
Dessa forma, ao tentar lembrar http://localhost/web-inf/ , o apache recusará.
Neste ponto, a integração do Tomcat e do Apache está concluída.
Coloque a página jsp em d:serverwww, por exemplo:
<html>
<h1>Teste JSP<hr>
<%out.println("Olá Mundo!");%>
</html>
Salve como index.jsp, digite http://localhost:8123/index.jsp no IE
se aparecer
Olá mundo!
Acabei de explicar que o tomcat está rodando normalmente, digite http://localhost/index.jsp no IE, se também aparecer
Olá mundo!
Parabéns! A integração foi bem-sucedida. Você deu um grande passo no longo e árduo caminho do jsp ~
Concluí o artigo de integração acima com pressa e pode haver alguns erros. ou alguns aspectos mal considerados, mas no geral deve ficar tudo bem
É um grande problema. Integrei-o com sucesso usando esse método repetidamente. Se você tiver alguma dúvida, pode entrar em contato comigo diretamente.
pássaro lunar: mail:[email protected]
http://blog.csdn.net/jangill/archive/2007/03/18/1532857.aspx