Introducción a NGINX-Basic 3

Ocho, módulo WEB de Nginx

1. Página de inicio aleatoria: random_index_module
(1) Función: micro-actualización
(2) Propósito: Establecer la página de inicio como una página aleatoria, que es un mecanismo de actualización de ajuste fino
(3) Iniciar página de inicio aleatoria:
①: Crear varias páginas de inicio: toque / aplicación / { blue.html, green.html, red.html, yellow.html}
②: escribe contenido diferente en diferentes páginas, como
<html>
<head>
<title> color azul </title>
</head>
<body style = "background-color: blue">
<h1> color azul! </h1>
</body>
</html>
Introducción a NGINX-Basic 3
Introducción a NGINX-Basic 3
Introducción a NGINX-Basic 3
Introducción a NGINX-Basic 3

③: Inicie la página de inicio aleatoria: vim /etc/nginx/conf.d/default.conf
server {

location / {
#root / usr / share / nginx / html;
#index index.html index.htm;
root / app;
random_index on;
}
}
Introducción a NGINX-Basic 3
④: Actualiza la página de inicio y observa los cambios systemctl restart nginx
⑤: Usa el navegador para acceder a ip para ver Cambios en la página web: Haga clic en F5 en el navegador para ver los cambios en la página web.
⑥: Después de completar la prueba, comente esta función. Evite afectar otros experimentos.


2. Módulo de reemplazo: sub_module
(1) Finalidad: Reemplazo de contenido web: Si usamos una plantilla para generar un sitio web, el código no es satisfactorio por omisiones u otras razones, pero en este momento debido a la gran cantidad de archivos, es inconveniente regenerar todos En ese momento, podemos utilizar este módulo para implementar temporalmente la corrección de errores. Por otro lado, también podemos usar esto para lograr el efecto del filtrado de texto del lado del servidor.
(2) Iniciar el reemplazo: vim /etc/nginx/conf.d/default.conf // Iniciar el
servidor de la página predeterminada de nginx {// Insertar
sub_filter nginx'NIHAOSHUAI ' en el servidor { ;
sub_filter_once on;
location / {
root / usr / share / nginx / html;
index index.html index.htm;
}
Introducción a NGINX-Basic 3
(3) Reinicie el servidor: systemctl restart nginx
(4) Experimento: IP de acceso al navegador:
①: Antes de la modificación:
Introducción a NGINX-Basic 3
②: Después de la modificación:
Introducción a NGINX-Basic 3
(5): Modifique el texto ¡Todo nginx!
Introducción a NGINX-Basic 3
①: Reinicie el servidor: systemctl restart nginx
②: Visite nuevamente:Introducción a NGINX-Basic 3


3. Lectura de archivo:
(1) Módulo: ngx_http_core_module
(2) Sintaxis:
①: Sintaxis: sendfile on | off;
Predeterminado: sendfile on;
Contexto: http, servidor, ubicación, si está en la ubicación
②: Sintaxis: tcp_nopush on | off ;
Predeterminado: tcp_nopush off;
Contexto: http, servidor, ubicación
Sy: Sintaxis: tcp_nodelay on | off;
Predeterminado: tcp_nodelay on;
Contexto: http, servidor, ubicación
(3) Introducción al principio:
①: sendfile:
Sendfile () no se usa Proceso de transmisión de red tradicional:
disco duro >> búfer de kernel >> búfer de usuario >> búfer de socket de kernel >> pila de protocolos

Ilustración: El proceso de Introducción a NGINX-Basic 3
usar sendfile () para la transmisión de red:
Disco duro >> búfer del kernel (copia rápida al búfer del kernelsocket) >> pila de protocolo
sendfile () no solo puede reducir el número de conmutaciones sino también el número de copias.
③: tcp_nopush
no se usa tcp_nopush () Desperdicio de recursos de red: la aplicación enviará un paquete cada vez que se genere una operación, y un paquete normalmente tendrá un byte de datos y un encabezado de 40 bytes, por lo que 4000% La sobrecarga puede fácilmente causar congestión en la red. Al mismo tiempo, los recursos se desperdician
usando tcp_nopush () para mejorar la eficiencia de transmisión de la red: los paquetes se envían después de que se hayan acumulado hasta un cierto tamaño.
④: tcp_nodelay
abre o cierra la función de nginx usando la opción TCP_NODELAY. Esta opción solo está habilitada cuando la conexión se convierte en una conexión persistente.
TCP_NODELAY es para deshabilitar el algoritmo de Nagle, es decir, el paquete se envía inmediatamente.
Debido a Nagle y DelayedACK, la información de confirmación del paquete de datos debe acumularse en dos antes de que se envíe. En el caso de una conexión larga, el paquete impar provocará un retraso de 40ms, por lo que tcp_nodelay enviará el acuse de recibo inmediatamente. Si no está en una conexión larga, puede cerrar este módulo, porque el acuse de recibo se enviará inmediatamente.
(4): Habilita la
ubicación del módulo / video / {
sendfile on;
tcp_nopush on;
} // Iniciado por defecto sin verificación


4. Compresión de archivos:
(1): Introducción al principio: inicie este módulo para comprimir archivos antes de la transmisión para mejorar la eficiencia de transmisión.
(2): Módulo: ngx_http_gzip_module
(3): Sintaxis:
Sintaxis: gzip on | off;
Predeterminado: gzip off;
Contexto: http, servidor, ubicación, si está en la ubicación

Sintaxis: gzip_comp_level level;
Predeterminado: gzip_comp_level 1; (1 ~ 9)
Contexto: http, servidor, ubicación

Sintaxis: gzip_http_version 1.0 | 1.1;
Predeterminado: gzip_http_version 1.1;
Contexto: http, servidor, ubicación
(4) Observa archivos sin comprimir:
①: Escribe algo en una página web: dd if = / dev / zero of = / usr / share /nginx/html/2.html bs = 1M count = 200 // Incrementa el efecto experimental,
②: Acceso web al directorio ip plus: F12 al mismo tiempo, abre el modo desarrollador: antes de la compresión:
Introducción a NGINX-Basic 3
(5): Habilita el módulo de compresión:
①: Configuración de escritura: vim /etc/nginx/nginx.conf
Habilite esta etiqueta en http:
http {
gzip on;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text / plain application / javascript application / x-javascript text / css application / xml text / aplicación javascript / x-httpd-php image / jpeg image / gif image / png;
gzip_static on;
Introducción a NGINX-Basic 3
②: reiniciar nginx: systemctl reiniciar nginx
③: observar el volumen del archivo comprimido:
Introducción a NGINX-Basic 3


5.
Almacenamiento en caché de páginas: (1): Módulo: ngx_http_headers_module
(2): Rol: Expires juega un papel en el control del almacenamiento en caché de páginas. La configuración razonable de expires puede reducir muchas solicitudes del servidor. Los expires se pueden configurar en la sección http o en la sección del servidor. O únete a la sección de ubicación.
Nginx (expira el caché para reducir la presión sobre el servidor),
(3): Sintaxis:
Sintaxis: expires [modified] time;
expires epoch | max | off;
Predeterminado: expires off;
Contexto: http, server, location, if in location
"epoch: Especifique el valor de "Caduca" como
máximo el 1 de enero de 1970, 00:00:01 GMT " : especifique el valor de" Caduca "como 10 años.
-1: especifique el valor de "Caduca" como la hora actual del servidor -1s, lo que significa que caducará para siempre.
off: No modifique los valores de "Expires" y "Cache-Control".

(4): Introducción del principio: sin caché, cada vez que visita el servidor, es una transmisión de texto completo. Habilitar la caché puede acelerar la navegación por sitios web.
(5): Habilita la caché:
①: Observa la caché del navegador : activa la caché
del navegador y navega por la página. (Por defecto): El primer código de estado de retorno 200. Transmisión de texto completo del objeto de página, el segundo estado de retorno 304. Transmisión parcial del objeto de página.
②: deshabilitar el almacenamiento en caché, navegar por la página, código de retorno 200. Transmisión de texto completo,
③: analizar el principio de almacenamiento en caché:Introducción a NGINX-Basic 3

④: Módulo de caché del servidor: vim /etc/nginx/conf.d/default.conf
location / {
root / usr / share / nginx / html
index index.html index.htm;
expira 24 h;
Introducción a NGINX-Basic 3
reinicia el servidor: systemctl reinicia nginx
⑤: Vuelva a navegar por la página y observe el tiempo de caché de la respuesta del servidor en el encabezado de respuesta
Introducción a NGINX-Basic 3
: Después de que el navegador visita una vez, el servidor no responde a la solicitud del navegador en un día
⑥: Desventaja: La desventaja es que se reduce la puntualidad.


6. 防 盗链 :
(1) : 模块 : ngx_http_referer_module
(2) : 语法 :
Sintaxis: valid_referers none | bloqueado | nombres_servidor | cuerda ...;
Predeterminado: -
Contexto: servidor, ubicación
(3) : 日志 原理 介绍
log_format main '$ remote_addr - $ remote_user [$ time_local] "$ request"'
'$ status $ body_bytes_sent "$ http_referer"'
'"$ http_user_agent" "$ http_x_fordered_for "';

Http_referer en el formato de registro es el registro, la URL a la que hace referencia el punto de acceso. Es decir, la dirección de nivel superior del hipervínculo.
A través de esta dirección, puede encontrar una especie de enlace de comportamiento de red. El hotlinking ilegal afectará el acceso normal al sitio.
Esto se puede controlar a través del módulo http_referer. Evite los hotlinking ilegales.

(4): Caso:
crear un sitio web a.com:
②> mkdir a.com // crear un sitio web
③> vim /etc/nginx/conf.d/a.com.conf // modificar la configuración
Introducción a NGINX-Basic 3
④> systemctl restart nginx / / Reiniciar nginx
⑤: Escriba algo en la página de inicio del sitio web a.com:
Introducción a NGINX-Basic 3
⑥> Resuelva el nombre de dominio local: Introducción a NGINX-Basic 3
⑥> Visite: Introducción a NGINX-Basic 3
①> mkdir b.com // Cree el sitio
web b②> vim /etc/nginx/conf.d/b. com.conf // Modificar la configuración
Introducción a NGINX-Basic 3
③>: redactar página de inicio: apropiarse indebidamente del contenido de la página web de a.com:
④>: copiar la conexión de la página web a.com y escribirla en la página web de b.com:
⑤>: haga clic en la imagen, haga clic con el botón derecho para copiar Dirección de enlace de imagen,
<img src = " http://a.com/1.jpg " />
⑥>: Visite:
Introducción a NGINX-Basic 3
⑤>: Registro de sitio web separado:
vim /etc/nginx/nginx.conf para
Introducción a NGINX-Basic 3
abrir la configuración de a.com Archivo
Introducción a NGINX-Basic 3
(5): habilite anti-hotlinking en el sitio web a.com:
①> vim /etc/nginx/conf/a.com.conf
Introducción a NGINX-Basic 3
②>Vuelva a visitar la verificación:
Introducción a NGINX-Basic 3
(6) Si desea que algunos sitios web puedan usar recursos (enlace activo): simplemente agregue una lista blanca después del bloqueo y agregue los sitios web a los que permite acceder,
Introducción a NGINX-Basic 3
systemctl reinicie nginx
para verificar el acceso nuevamente
Introducción a NGINX-Basic 3


7. Estado de la conexión:
(1): Módulo: stub_status_module
(2): Propósito: Mostrar información sobre el número de usuarios y enlaces nginx.
(3): Verifique si el módulo está instalado: nginx -V 2> & 1 | grep stub_status
Introducción a NGINX-Basic 3
(4): Módulo de estado de inicio
①: Módulo de estado de configuración: vim /etc/nginx/conf.d/default.conf
Introducción a NGINX-Basic 3
②: systemctl restart nginx
③ : Accede al módulo de estado del sitio predeterminado: 10.8.162.6/nginx_status
Introducción a NGINX-Basic 3
④: Explicación:
Introducción a NGINX-Basic 3


Supongo que te gusta

Origin blog.51cto.com/14881339/2540094
Recomendado
Clasificación