Artigo Diretório
- Prefácio
- 1. Diretório importante do Tomcat
- 2. Aplicativo Nginx
- 3. Configuração do caso
-
- 3.1 Construção do ambiente
- 3.2 Configuração de caixa de separação dinâmica e estática
-
- 3.2.1 Configurar servidor nginx
- 3.2.2 Instale JDK e TOMCAT em dois servidores de nó
- 3.2.3 Configure o nginx para iniciar a separação dinâmica e estática
- 3.2.4 O cliente acessa 192.168.100.20 e 192.168.100.20/test/index.jsp para testar a separação estática e dinâmica
- 3.2.5 nginx lida com imagens estáticas, TOMcat lida com testes de página dinâmicos
- 3.2.6 Teste, a visita foi bem-sucedida
- 3.3 Caso de balanceamento de carga
Prefácio
Introdução ao Tomcat
· Foi originalmente desenvolvido por James Duncan Davidson, um arquiteto de software da Sun. Depois que o Tomcat é instalado, os diretórios e arquivos no caminho de instalação são arquivos importantes para usar ou configurar o Tomcat
1. Diretório importante do Tomcat
2. Aplicativo Nginx
2.1 vantagens do nginx
Nginx é um excelente software de servidor HTTP.
Suporta respostas de até 50.000 conexões simultâneas. Tem
recursos poderosos de processamento de recursos estáticos
, operação estável
e consumo muito baixo de recursos do sistema, como memória e CPU.
Atualmente, muitos sites grandes usam servidores Nginx como base
Proxy reverso e balanceador de carga do programa do site final para melhorar a simultaneidade de carga de todo o site
Vantagens
do processamento estático do Nginx · A eficiência do Nginx no processamento de páginas estáticas é muito maior do que a do Tomcat
· Se o Tomcat solicitar 1000 vezes, o Nginx solicitará 6000 vezes,
a taxa de transferência do Tomcat por segundo será de 0,6 M e do Nginx por segundo A taxa de transferência é de 3,6M
· A capacidade do Nginx de lidar com recursos estáticos é 6 vezes maior que a do Tomcat
2.2 Princípios de implementação de balanceamento de carga Nginx
Nginx realiza balanceamento de carga por meio de proxy reverso
Princípio de proxy reverso
Os principais parâmetros da configuração Nginx nome do pool de serviço upstream do proxy reverso
{} Proxy de quatro camadas
Configure o pool de servidores back-end para fornecer dados de resposta
proxy_pass http: // nome do pool de serviços // Módulo proxy para encaminhar solicitações para a
configuração do pool de serviços para encaminhar solicitações de acesso Processamento de servidor para o pool de servidores back-end
nginx suporta proxy de sete camadas
2.3 Princípio de separação estática e dinâmica Nginx
Princípio de separação entre dinâmico e estático Quando o servidor recebe solicitações do cliente, existem recursos estáticos e dinâmicos.Os recursos estáticos são servidos pelo Nginx e os recursos dinâmicos Nginx são encaminhados para o backend.
Vantagens
do processamento estático do Nginx · A eficiência do Nginx no processamento de páginas estáticas é muito maior do que a do Tomcat
· Se o Tomcat solicitar 1000 vezes, o Nginx solicitará 6000 vezes,
a taxa de transferência do Tomcat por segundo será de 0,6 M e do Nginx por segundo A taxa de transferência é de 3,6M
· A capacidade do Nginx de lidar com recursos estáticos é 6 vezes maior que a do Tomcat
3. Configuração do caso
Teste o balanceamento de carga, efeito de separação dinâmica e estática.
Configuração ambiental. Use
Nginx como balanceador de carga, Tomcat como
site de servidor de aplicativos e realize o balanceamento de carga
. Desative o firewall Firewalld.
Instale o pacote de software dependente de Nginx.
Descompacte, compile e instale a
configuração Nginx nginx.conf, adicione o processamento de página estática de localização E adicione a
seção de configuração upstream e o
arquivo de configuração de detecção proxy_pass e inicie o Nginx
A implantação do Tomcat e a construção do site de teste
exigem a implantação de dois servidores Tomcat back-end
. Para testar, configure dois sites diferentes.
Implantação do Tomcat e etapas de construção do site
. Desligue o firewall
. Instale o JDK, configure o ambiente JAVA.
Instale e configure o Tomcat para
criar / web / diretório webapp1, modifique server.xml, altere o diretório de arquivo do site
para / web / webapp1 / no caminho
/ web / webapp1 / para criar uma página de teste index.isp e teste
3.1 Construção do ambiente
Prepare 4 dispositivos,
um servidor nginx para resolução de endereço estático e proxy reverso, para alcançar o controle de balanceamento de carga (NGINX),
dois servidores tomcat para resolução dinâmica e uso de servidor de nó (PC-3, PC-4),
um cliente Acesso à máquina
Preparação do pacote:
3.2 Configuração de caixa de separação dinâmica e estática
3.2.1 Configurar servidor nginx
Compilar e instalar o nginx
[root@nginx ~]# systemctl stop firewalld
[root@nginx ~]# setenforce 0
setenforce: SELinux is disabled
[root@nginx ~]# yum -y install gcc \
> gcc-c++ \
> make \
> pcre-devel \
> expat-devel \
> perl \
> zlib-devel \
> pcre
[root@nginx nginx-1.12.2]# useradd -M -s /sbin/nologin nginx
[root@nginx nginx-1.12.2]# tar zxvf nginx-1.12.2.tar.gz
[root@nginx nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module //统计模块
[root@nginx nginx-1.12.2]# make && make install
Crie uma conexão flexível
[root @ nginx nginx-1.12.2] # ln -s / usr / local / nginx / sbin / nginx / usr / local / sbin /
Transferir o serviço para o gerenciamento do sistema
[root@nginx nginx-1.12.2]# vim /etc/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile =/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -S HUP $MAINPID
ExecStop=/usr/bin/kill -S QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
~
Adicionar permissão de execução
[root@nginx nginx-1.12.2]# chmod 754 /etc/systemd/system/nginx.service
Iniciar teste de serviço
[root@nginx nginx-1.12.2]# systemctl start nginx.service
[root@nginx nginx-1.12.2]# netstat -ntap | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19171/nginx: master
3.2.2 Instale JDK e TOMCAT em dois servidores de nó
Aqui está um conjunto como exemplo, o mesmo método de instalação para dois conjuntos
[root@pc-3 opt]# tar -zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local
Modificar variáveis de ambiente
[root@pc-3 opt]# vim /etc/profile
加入4行
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${
JAVA_HOME}/jre
export CLASSPATH=.:${
JAVA_HOME}/lib:${
JRE_HOME}/lib
export PATH=${
JAVA_HOME}/bin:$PATH
[root@pc-3 opt]# source /etc/profile
Instale o tomcat
[root@pc-3 opt]# tar -zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local
[root@pc-3 opt]# cd /usr/local
[root@pc-3 local]# mv apache-tomcat-8.5.16/ tomcat
[root@pc-3 local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin
[root@pc-3 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin
3.2.3 Configure o nginx para iniciar a separação dinâmica e estática
[root @ nginx conf] # vim nginx.conf
添加此配置.......................
以JSP 结尾的 动态请求都指向 192.168.100.3:8080服务器
location ~.*.jsp$ {
proxy_pass http://192.168.100.3:8080;
proxy_set_header HOST $host;
}
…
Verifique a configuração
[root@nginx conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax isok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
Configurar o arquivo da página inicial
[root@nginx conf]# vim /usr/local/nginx/html/index.html
<h1> this is 静态页面</h1>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
Configurar o arquivo da página inicial do tomcat
Vim /usr/local/tomcat/webapps/test/index.html
<!DOCTYPE html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<div> 这是动态页面</div>
</body>
</html>
3.2.4 O cliente acessa 192.168.100.20 e 192.168.100.20/test/index.jsp para testar a separação estática e dinâmica
3.2.5 nginx lida com imagens estáticas, TOMcat lida com testes de página dinâmicos
Modifique o arquivo da página inicial do tomcat
<!DOCTYPE html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<div> 这是动态页面</div>
<img src="123.jpg"/>
</body>
</html>
~
Modificar arquivo de configuração nginx
Coloque a imagem 123.jpg neste diretório do site de caminho
[root@nginx ~]# cd /usr/local/nginx/html/
[root@nginx html]# mkdir test
[root@nginx html]# cd test
[root@nginx test]# rz -E
rz waiting to receive.
[root@nginx test]# ls
123.jpg
[root@nginx test]# pwd
/usr/local/nginx/html/test
[root@nginx test]#
3.2.6 Teste, a visita foi bem-sucedida
3.3 Caso de balanceamento de carga
3.3.1 Configurar os arquivos da página inicial de dois gatos
[root@pc-3 examples]# cd /usr/local/tomcat/webapps/
[root@pc-3 webapps]# mkdir new
Vim index.html
[root@pc-4 examples]# cd /usr/local/tomcat/webapps/
[root@pc-4 webapps]# mkdir new
Vim index.html
3.3.2 Definir as configurações do diretório do site da página inicial do tomcat (mesma operação para ambos)
Pegue um deles como exemplo
[root@pc-4 conf]# vim server.xml
添加此行
<Context path="" docBase="new" reloadable="true"/> //new 为默认读取的站点目录
[root@pc-4 conf]# vim web.xml
3.3.3 Configurar o arquivo de configuração nginx
3.3.4 Teste de acesso 192.168.100.20
Atualizar, mudar automaticamente para o nó 2