Registro de aprendizaje de Nginx (sin clúster)

1. Introducción a Nginx

1. ¿Qué es nginx?

Nginx es un servidor proxy inverso y HTTP de alto rendimiento. Es muy potente en el manejo de alta concurrencia y puede resistir la prueba de alta carga. Hay un formulario de informe.

Ming puede admitir hasta 50.000 conexiones simultáneas.

2. Proxy inverso

  • 正向代理: Es necesario configurar un servidor proxy en el cliente para acceder al sitio web especificado. (Configuración del cliente)
  • 反向代理: La dirección del servidor proxy está expuesta, pero la dirección IP del servidor real está oculta. (Configuración del servidor)

3. Equilibrio de carga

  • 负载均衡: Aumente la cantidad de servidores y luego distribuya la solicitud a cada servidor, cambie la solicitud original a un solo servidor para distribuir la solicitud a varios servidores y distribuya la carga a diferentes servidores

4. Separación de dinámica y estática

  • 动静分离: Los recursos estáticos y los recursos dinámicos de la aplicación en segundo plano se implementan por separado.

Dos, instalación de nginx

1. Instalación

# ls
nginx-1.12.2.tar.gz 
pcre-8.37.tar.gz
  • Instalar dependencias de pcre
1)tar –xvf pcre-8.37.tar.gz
2)./configure
3) make && make install
`检查版本`pcre-config -version
  • Instalar dependencias de openssl, zlib, gcc
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
  • Instalar nginx
1)tar –xvf nginx-1.12.2.tar.gz 
2)./configure
3) make && make install
`检查版本`cd  /usr/local/nginx/sbin
         ./nginx -v
         ./nginx
  • Visita ip + 80

2. Comandos comunes

  • número de versión
./nginx -v
  • puesta en marcha
./nginx
  • apagar
./nginx -s stop
  • Reiniciar
./nginx -s reload

3. Archivo de configuración

位置: /Usr/local/nginx/conf/nginx.conf

  • 全局块: Instrucciones de configuración para configurar el funcionamiento general del servidor, como worker_processes 1; configuración del procesamiento de números concurrentes
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

  • events块: Afecta la conexión de red entre el servidor Nginx y el usuario. Por ejemplo, worker_connections 1024; el número máximo de conexiones admitidas es 1024
events {
    
    
    worker_connections  1024;
}
  • http块: Bloque global Http + bloque de servidor
http {
    
    
    include       mime.types;
    default_type  application/octet-stream;
    server {
    
    
        listen       80;
        server_name  localhost;

        location / {
    
    
            root   html;
            index  index.html index.htm;
        }
		error_page   500 502 503 504  /50x.html;
        location = /50x.html {
    
    
            root   html;
        }
}

Tres, ejemplos de configuración

1. Proxy inverso

  • Reenvío de puertos
server {
    listen       80;
    server_name  localhost;

    location / {
    	proxy_pass http://192.168.22.203:8080/;
	}
}
  • Reenvío de ruta

Prioridad de ruta: (ubicación = / índice)> (ubicación / xxx / xxx / xxx)> (ubicación ^ ~ / xxx)> (ubicación ~ / xxx)

= (ubicación ~ *. [jpg | png | gif])> (ubicación /)

location =/index {
    
    
	#精准匹配,只匹配当前路径
	}
location /xxx/xxx/xxx {
    
    
    	#通用匹配,匹配/xxx开头的所有路径
	}
location ^~/xxx {
    
    
    	#正则匹配,匹配/xxx开头的所有路径
	}
location ~/xxx {
    
    
    	#匹配开头路径,匹配/xxx开头的所有路径
	}
location ~*\.[jpg|png|gif] {
    
    
    	#匹配结尾,匹配/xxx开头的所有路径
	}

2. Equilibrio de carga

  • Balanceo de carga
upstream my-server{
    
    
	server 192.168.22.203:8080;
	server 192.168.22.203:8081;
}
server {
    
    
    listen       80;
    server_name  localhost;    
    location / {
    
    
    	proxy_pass http://my-server/;
	}
}
  • Estrategia de equilibrio

    • Equilibrado: reenvío promedio al servidor durante dos días
    upstream my-server{
          
          
    	server 192.168.22.203:8080;
    	server 192.168.22.203:8081;
    }
    
    • Peso: según el peso, el peso de la velocidad de procesamiento rápida es más importante y más distribuido
    upstream my-server{
          
          
    	server 192.168.22.203:8080 weight=10;
    	server 192.168.22.203:8081 weight=2;
    }
    
    • IP Hash: una solicitud de IP siempre se envía a un servidor
    upstream my-server{
          
          
    	ip_hash;
    	server 192.168.22.203:8080;
    	server 192.168.22.203:8081;
    }
    

3. Separación de dinámica y estática

  1. Agente de recursos dinámicos: ocupa 4 conexiones
location / {
    
    
	proxy_pass 路径;
}
  1. Agente de recursos estáticos: ocupa dos conexiones
location / {
    
    
	root 静态资源路径;
	index 默认访问路径下的资源;
	autoindex on;#展示静态资源的全部内容,以列表显示展开
}

Supongo que te gusta

Origin blog.csdn.net/qq_38473355/article/details/108708879
Recomendado
Clasificación