Arquitectura de software-explicación detallada de nginx

Hoy hablé sobre nginx. En realidad, es extraño tener una plancha vieja. ¿No se hace nginx por operación y mantenimiento? De hecho, en la mayoría de los casos, si la empresa es relativamente grande, si hay operación y mantenimiento, esta olla debe hacerse mediante operación y mantenimiento. Pero ahora hay una tendencia que se llama devops. También dije antes que la integración de desarrollo, operación y mantenimiento requiere un cierto conocimiento de operación y mantenimiento para el desarrollo. En algunas empresas emergentes de Internet, el tipo de trabajo técnico que están comenzando no está tan claro. La construcción, operación y mantenimiento del medio ambiente, la construcción de estructuras y el desarrollo deben estar disponibles.
Código fuente: https://github.com/limingios/netFuture/tree/master/nginx

Construcción del servicio Nginx y demostración básica (1)

Nginx

  • Página web oficial

http://nginx.org/

  • Introducción

Nginx es un servidor proxy inverso y HTTP ligero, de alto rendimiento, alta estabilidad y buena concurrencia. Por sus características, su aplicación es muy amplia.

  • historia

Desarrollado por el programador ruso Igor Sysoev, fue utilizado originalmente por el portal ruso a gran escala y el motor de búsqueda Rambler (en ruso: Рамблер). Sus características son que ocupa menos memoria y tiene una fuerte concurrencia. De hecho, la concurrencia de nginx funciona mejor en el mismo tipo de servidor web. Actualmente, los usuarios de los sitios web de nginx en China continental incluyen: Sina, NetEase, Tencent y otros micronets conocidos. Chi Plurk también utiliza nginx.

  • Comprender el concepto de agencia.

1. Reenviar proxy: en algunos casos, para que nuestros usuarios accedan al servidor, el usuario debe configurar manualmente la dirección IP y el número de puerto del servidor proxy.
2. Proxy inverso: se utiliza para servidor proxy, proxy del servidor de destino que queremos visitar. El servidor proxy acepta la solicitud, luego reenvía la solicitud al servidor en la red interna (agrupamiento) y devuelve el resultado del servidor al cliente.En este momento, el servidor proxy actúa como un servidor externo.

  • Máquina configurada según código fuente

Tipo de sistema dirección IP Rol de nodo UPC Memoria Nombre de host
Centos7 192.168.66.110 nginx 1 2G nginx
Centos7 192.168.66.111 gato 1 2G tomcat1
Centos7 192.168.66.112 gato 1 2G tomcat2

  • Tres maquinas

Listo para trabajar

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

  • Instale el paquete de instalación de pcre en el host nginx (192.168.66.110)

https://sourceforge.net/projects/pcre/files/pcre/
nginx rewrite depende de la biblioteca PCRE, por lo que debe compilar e instalar la biblioteca PCRE en el sistema Linux

wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.gz
tar zxvf pcre-8.41.tar.gz
cd image.png
./configure
make && make install
pcre-config --prefix

  • Instalar nginx
cd ..
wget http://nginx.org/download/nginx-1.13.10.tar.gz
tar zxvf nginx-1.13.10.tar.gz
mkdir  nginx
cd nginx-1.13.10
./configure --prefix=/root/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/root/pcre-8.41
make && make install 
cd ~
cd nginx/sbin/
./nginx -v
./nginx -t

  • Iniciar nginx
cd ~/nginx/sbin/
./nginx

En realidad no tengo permiso

Modificar el archivo de configuración

vi ~/nginx/conf/nginx.conf
#修改成user root
#wq保存
#重新加载nginx新的配置
./sbin/nginx -s reload

  • 111 y 112 dos máquinas para instalar tomcat
java -version
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz

tar zxvf apache-tomcat-8.5.37.tar.gz 
cd apache-tomcat-8.5.37
cd bin
./startup.sh
curl 127.0.0.1:8080

  • 111 y 112 Agregue un método de archivo index.jsp para ver
cd /root/apache-tomcat-8.5.37/webapps/ROOT
>index.jsp
vi index.jsp
cat index.jsp

### Parámetros del módulo de aguas arriba y ubicación y explicación del caso (2)

De hecho, el software futuro tiende a ser modular. El montaje está completo.

río arriba
  • Introducción del sitio web oficial

http://nginx.org/en/docs/

  • instancia aguas arriba

http://nginx.org/en/docs/http/ngx_http_upstream_module.html

  • parámetro aguas arriba
nombre del parámetro descripción
Servicio Dirección de servicio inverso más puerto
peso Pesos
max_fails ¿Cuántas fallas crees que ha colgado el host, échalo? El valor predeterminado es 1 vez. La empresa generalmente configura de 2 a 3 veces, pero el comercio electrónico pone más énfasis en la experiencia del usuario, por lo que es 1 vez. La premisa es que la oferta de esta máquina es relativamente grande.
fail_timeout Tiempo de re-detección después de la patada
apoyo Servicio de respaldo
max_conns Número máximo de conexiones permitidas
comienzo lento Cuando se restaure el nodo, no se una inmediatamente

Modificar 66.110 ese archivo de configuración nginx

vi /root/nginx/conf/nginx.conf
cat /root/nginx/conf/nginx.conf

Debido a que los pesos son los mismos, los dos gatos machos 111 y 112 se giran


Yu

* Algoritmo de equilibrio de carga
1.ll + peso

El algoritmo de carga predeterminado en realidad asigna las solicitudes de servicio en función de los pesos.

2.ip_hash

Escenario de aplicación de computación basada en hash: mantenga la sesión consistente, la primera vez que visita la única, siempre ha sido la misma. hash (ip)% 3 = índice. Desventajas: cuando las comunidades o escuelas están centralizadas, sus direcciones IP son las mismas y la carga en un determinado nodo será muy, muy grande. Conviértase en un punto de acceso, con ip_hash haciendo que el peso deje de ser válido.

3.url_hash

Escenario de aplicación (de terceros): almacenamiento en caché de recursos estáticos, ahorro de almacenamiento y aceleración

4.menos_conn

Enlace mínimo

5.menos_hora

Para el tiempo de respuesta más pequeño, calcule el tiempo de respuesta promedio del nodo y luego tome el que tenga la respuesta más rápida y asigne un peso más alto.

6.keeplive

Número de conexiones ocupadas. El consumo de memoria es relativamente grande, pero la velocidad de respuesta es rápida y se debe mantener la conexión del socket.

  • ubicación
    1.root

La siguiente configuración es equivalente a volver a apuntar la ruta de entrada en el navegador

2.índice

Sobre la base de la separación de los extremos frontal y posterior, especifique la página inicial del sitio web

3.proxy_set_header

Se usa para redefinir el encabezado de la solicitud enviada al servidor backend

4.proxy_pass

Si agrega / a la URL después de proxy_pass, significa la ruta raíz absoluta; si no hay /, significa una ruta relativa, y la parte de la ruta coincidente también se le da al proxy.

Esquema de separación dinámico y estático

Hay dos formas de separar dinámicas y estáticas

  1. Ponga archivos estáticos en nginx
  2. Los archivos estáticos se colocan en el servidor designado y el servidor se distingue por la dirección de solicitud.
  • Ponga archivos estáticos en nginx
#思路:动、静态的文件,请求时匹配不同的目录当访问gif,jpeg时 直接访问e:wwwroot;

server {
    
      
  listen       80;  
  server_name  localhost;  

  location / {
    
      
      root   e:wwwroot;  
      index  index.html;  
  }  

  # 所有静态请求都由nginx处理,存放目录为html  
  location ~ .(gif|jpg|jpeg|png|bmp|swf|css|js)$ {
    
      
      root    e:wwwroot;  
  }  

  # 所有动态请求都转发给tomcat处理  
  location ~ .(jsp|do)$ {
    
      
      proxy_pass  http://test;  
  }  

  error_page   500 502 503 504  /50x.html;  
  location = /50x.html {
    
      
      root   e:wwwroot;  
  }  
}  
  • Servidor estático

Múltiples aguas arriba, múltiples ubicaciones y nombres de ubicación son diferentes.

PD: Finalmente, un dicho popular, tú eres el rey, yo soy tu eunuco, río arriba está el harén, puede haber varios harenes, cada harén se ha asignado de acuerdo a diferentes gordos y delgados, el harén A está por encima de 120. El harén B es todo por debajo de 100. Hay muchas concubinas amadas en el harén. Por la noche, el rey tiene una demanda. Dígale al eunuco. Según la situación en el harén, el eunuco puede usar un cierto algoritmo para ver que la concubina puede ir Dile al rey, el rey irá directamente a mí y le dirá a su concubina dónde usar el algoritmo.

Supongo que te gusta

Origin blog.csdn.net/zhugeaming2018/article/details/111149859
Recomendado
Clasificación