Artigo Diretório
Visão geral do Tomcat
O servidor Tomcat é um servidor de aplicativos da Web gratuito e de código aberto, que é um servidor de aplicativos leve. É comumente usado em sistemas de pequeno e médio porte e onde não há muitos usuários simultâneos. É a primeira escolha para desenvolver e depurar programas JSP. Para um iniciante, pode-se pensar que quando um servidor Apache é configurado em uma máquina, ele pode ser usado para responder a uma solicitação de acesso à página HTML (um aplicativo sob a linguagem de marcação universal padrão). Na verdade, o Tomcat é uma extensão do servidor Apache, mas é executado de forma independente em tempo de execução, portanto, quando você executa o tomcat, ele realmente é executado como um processo separado do Apache.
Visão geral do Ngiinx
Nginx é um servidor web / servidor proxy reverso leve e servidor proxy de e-mail (IMAP / POP3), lançado sob o protocolo semelhante ao BSD. Suas características são que ele ocupa menos memória e tem fortes recursos de simultaneidade. Na verdade, os recursos de simultaneidade do nginx têm um desempenho melhor no mesmo tipo de servidor da Web. Os usuários da China continental de sites nginx incluem: Baidu, JD, Sina, NetEase, Tencent, Taobao, etc.
Recursos
- Suporta até 50.000 respostas de conexão simultâneas
- Possui poderosos recursos de processamento de recursos estáticos
- correr suavemente
- Baixo uso de recursos de hardware
Princípio de implementação de balanceamento de carga Nginx
Diagrama esquemático dos
parâmetros de configuração Ngxin
pool de servidores upstream {}
- Depois de configurar o servidor back-end, deixe-o fornecer a si mesmo os dados de resposta
proxy_pass http: // endereço do servidor - Configure o processamento do servidor que encaminha a solicitação de acesso ao pool de servidores back-end
Princípio de implementação de separação estática e dinâmica Nginx
A taxa de serviço recebe a solicitação do cliente. Os recursos estáticos dos amigos da base também têm recursos dinâmicos. Os recursos estáticos são fornecidos pelo nginx, e os recursos dinâmicos são encaminhados pelo nginx ao servidor back-end para fornecer serviços.
Vantagens de nginx processar páginas estáticas em comparação com tomcat
- O Nginx é muito mais eficiente no processamento de páginas estáticas do que o Tomcat
- Se Tomcat solicitar 1000 vezes, Nginx solicitará 6000 vezes
- O Tomcat tem uma taxa de transferência de 0,6 M por segundo e o Nginx tem uma taxa de transferência de 3,6 M por segundo
- A capacidade do Nginx de lidar com recursos estáticos é 6 vezes maior do que o Tomcat
pode vir! Mostrar! !
ip do serviço nginx: 20.0.0.11
cat01: 20.0.0.3
cat02: 20.0.0.4
Experiment①
Construir servidor Nginx
安装环境依赖包
[root@nginx bao]# yum -y install \
> pcre-devel \
> zlib-devel \
> gcc gcc-c++ \
> make
[root@nginx bao]# useradd -M -s /sbin/nologin nginx
[root@nginx bao]# tar zxvf nginx-1.12.2.tar.gz
[root@nginx bao]# cd nginx-1.12.2/
[root@nginx nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module \ ##统计模块
> --with-http_gzip_static_module \ ##压缩模块
> --with-http_flv_module ##视频模块
[root@nginx nginx-1.12.2]# make && make install
[root@nginx nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
Editar arquivo de configuração
[root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
#gzip on; ##找到这行,在下面添加
upstream catserver {
##设置节点服务器,你们做的时候名字起的正规点啊哈哈哈
server 20.0.0.3:8080 weight=1; ##指向cat01 IP,weight指的是权重
server 20.0.0.4:8080 weight=1; ##看上面自己理解吧
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location ~.*.jsp$ {
##往下加,匹配到以 jsp 结尾的网页再两台节点服务器中轮询
proxy_pass http://catserver;
}
[root@nginx nginx-1.12.2]# systemctl stop firewalld
[root@nginx nginx-1.12.2]# setenforce 0
Construir servidor Tomcat
Instale e configure
duas operações gerais do tomcat
[root@cat01 bao]# tar zxvf jdk-8u91-linux-x64.tar.gz
[root@cat01 bao]# mv jdk1.8.0_91/ /usr/local/
[root@cat01 bao]# vim /etc/profile
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@cat01 bao]# source /etc/profile
[root@cat01 bao]# java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
[root@cat01 bao]# tar zxvf apache-tomcat-8.5.16.tar.gz
[root@cat01 bao]# mv apache-tomcat-8.5.16 /usr/local/tomcat
[root@cat01 bao]# cd /usr/local/tomcat/
[root@cat01 tomcat]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin
[root@cat01 tomcat]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin
[root@cat01 bao]# mkdir -p /web/cat01
[root@cat01 bao]# vim /web/cat01/index.jsp ##cat02 改成 /web/cat02
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>CAT01 web</title>
</head>
<body>
<% out.println("This is CAT01.");%> ##另一台配置 This is CAT02.
</body>
</html>
[root@cat01 bao]# vim /usr/local/tomcat/conf/server.xml
148 <Host name="localhost" appBase="webapps"
149 unpackWARs="true" autoDeploy="true"> ##主配置文件里找到这个服字段,在下面添加,意思差不多是重新定义主页位置
150 <Context docBase="/web/cat01" path="" reloadable="false">
151 </Context>
[root@cat01 bao]# startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@cat01 bao]# netstat -ntap |grep 8080
tcp6 0 0 :::8080 :::* LISTEN 74552/java
Experiência de verificação
A experiência foi bem-sucedida. Quando uma página da web dinâmica é correspondida, a pesquisa aponta para dois servidores da web, mas observe que as páginas dos dois hosts devem ser as mesmas durante o trabalho
Experimento ②
Requisitos experimentais: nginx processa imagens estáticas, Tomcat processa páginas dinâmicas, configura o
Tomcat para se referir ao caminho e nginx coloca imagens. O
nome do diretório deve ser igual ao nome do projeto Java
Configuração Tomcat01
02 Eu não vou mudar isso, problema
[root@cat01 bao]# vim /web/cat01/index.jsp
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="nginx/html; charset=UTF-8"> ##位置和图的位置一样,nginx/html
<title>CAT01 web</title>
</head>
<body>
<div>This is CAT01.</div><br>
<img src="FDL.jpg">
</body>
</html>
Configuração Nginx
[root@nginx /]# cd /usr/local/nginx/html/
[root@nginx html]# rz -E
rz waiting to receive.
[root@nginx html]# ls
50x.html FDL.jpg index.html
[root@nginx html]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name localhost;
##添加下面
location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {
root html;
expires 30s;
Experimento de teste
O experimento foi bem sucedido