ejemplos de configuración de núcleo nginx

ejemplos de configuración de núcleo nginx

Sobre la base de diferentes IP, puertos diferentes y no tienen que poner en práctica diferentes nombres de dominio host virtual, dependiendo del módulo principal ngx_http_core_module lograr.

1. Crear un sitio web para PC

root@z2:~# mkdir /apps/nginx/conf/conf.d
root@z2:~# vim /apps/nginx/conf/conf.d/pc.conf
root@z2:~# cat /apps/nginx/conf/conf.d/pc.conf 
server { 

	listen 80; 
	server_name www.mage.net; 
	location / {
	root /data/nginx/html/pc; 
	} 
}

root@z2:~# vim /apps/nginx/conf/nginx.conf
在http内添加 include /apps/nginx/conf/conf.d/*.conf;



root@z2:~# mkdir /data/nginx/html/pc -p
root@z2:~# echo "pc web" > /data/nginx/html/pc/index.html
root@z2:~# nginx -s reload

determinación de acogida

192.168.1.102  www.mage.net

prueba

root@z2:~# curl www.mage.net
pc web

2. Crear un sitio web móvil:

root@z2:~# cat  /apps/nginx/conf/conf.d/mobile.conf
server { 

	listen 80; 
	server_name mobile.mage.net; 
	
	location / { 
	root /data/nginx/html/mobile; 
	} 
}


root@z2:~# mkdir /data/nginx/html/mobile  -p
root@z2:~# echo "mobile web" >> /data/nginx/html/mobile/index.html

3. 与 alias de raíz

root: Especifica el directorio home de la web, en la definición de ubicación cuando la ruta absoluta del archivo es igual a la raíz + ubicación

alias: el papel similares a los alias en Apache, similar a un alias, un archivo de ruta absoluta alias Sí

 server {

        listen 80;
        server_name www.mage.net;
        location / {
        root /data/nginx/html/pc; }

          location /about {
                root /data/nginx/html/pc;
        }
#    	location /about {
#                alias /data/nginx/html/pc;
#       }
}

Agregar la ruta de acceso de la pc.conf en.

Cuando se accede a tiempo www.mage.net/about/,

Si la raíz de la escritura: la visita real es /data/nginx/html/pc/about/index.html;

Si la redacción alias: la visita real es /data/nginx/html/pc/index.html;

4. ubicación en detalle utilizando

Sin el uso de expresiones regulares, cuando, en una pluralidad de servidor de ubicación de Nginx primera seleccionará el más alto grado de coincidencia de un URI, cadena URI es solicitada por el usuario, es decir, el nombre de ruta de archivos web espalda, y luego usar el módulo de localización la URL canónica y la cadena, búsqueda si un partido ha terminado, y el uso de esta ubicación para procesar esta solicitud.

语法规则:    location [=|~|~*|^~] /uri/ { … }

=   #用于标准uri前,需要请求字串与uri精确匹配,如果匹配成功就停止向下匹配并立即处理请求。
~   #用于标准uri前,表示包含正则表达式并且区分大小写 
~*  #用于标准uri前,表示包含正则表达式并且不区分大写 
!~  #用于标准uri前,表示包含正则表达式并且区分大小写不匹配 
!~* #用于标准uri前,表示包含正则表达式并且不区分大小写不匹配 
^~  #用于标准uri前,表示包含正则表达式并且匹配以什么开头 
$   #用于标准uri前,表示包含正则表达式并且匹配以什么结尾 
\   #用于标准uri前,表示包含正则表达式并且转义字符。可以转. * ?等 
*   #用于标准uri前,表示包含正则表达式并且代表任意长度的任意字符
4.1 Caso partido - coincidencia exacta

Configuración de un servidor de interfaz de usos sección de localización de la tela, requisitos: al acceder al servidor nginx / inicio de sesión para visualizar el contenido del archivo html especificada

server { 

	listen 80; 
	server_name www.mage.net; 
	
	location / {
	root /data/nginx/html/pc; }
	 

	location =/1.jpg { 
		root /var/www/nginx/images; 
		index index.html; }nginx

}

== Nota: hay espacio entre == ubicación = / 1.jpg signo igual y "/"

El / datos / nginx / html / PC y el directorio / var / www / nginx / imágenes, han colocado un mismo nombre pero con diferentes contenidos de imagen 1.jpg

Al visitar www. Cuando mage.net/1.jpg, a continuación, ver el directorio / var / www / nginx / images imágenes

4.2 Caso a juego - entre mayúsculas y minúsculas

Si URI de letras en mayúsculas, esta condición no coincide con el grupo

  location ~ /A.?\.jpg {
        index index.html;

        root  /var/www/nginx/images;
        }

Sólo tendrán acceso a los caracteres en minúsculas imagen AX.jpg, mayúsculas no reconoce el final de la imagen JPG (es decir, distinguir entre la parte fija de la expresión regular en ese entonces, y entre mayúsculas y minúsculas).

4.3 Caso partido - no entre mayúsculas y minúsculas
#使用正则表达式
location ~* /A.?\.jpg {
        index index.html;

        root  /var/www/nginx/images;
        }

Puede acceder AX.jpg, AX.JPG, AX.Jpg, AX.jPg como cuadros

#不使用正则表达式
# location ~ /aa.jpg {
# index index.html;
# root /opt/nginx/html/image;
# }

location ~* /aa.jpg {
	index index.html;
	root /opt/nginx/html/image;
}

Para conocer la ubicación de mayúsculas y minúsculas, puede acceder cualquier caso, al final del archivo de imagen, tales como mayúsculas y minúsculas puede aa.jpg único acceso, entre mayúsculas y minúsculas, puede acceder a recursos tales aa.jpg fuera aa.jpg, aA .jpg nombre de archivo, tales híbridos

inicio partido 4.4 Caso -uri
     	location ^~ /images {
                root /data/nginx;
                index index.html;
		}

#        location /images1 {
#        	alias /data/nginx/html/pc;
#        	index index.html;
#		}
root@z2:/data/nginx# echo "/data/nginx/images" >/data/nginx/images/index.html 
root@z2:/data/nginx# echo "/data/nginx/images1" >/data/nginx/images1/index.html 

Sin comentarios antes de la apertura, no utilice el más alto nivel de URI comenzó. El efecto es el de lograr el acceso a las imágenes y de retorno imágenes1 diferentes resultados

root@z2:~# curl www.mage.net/images/
/data/nginx/images
root@z2:~# curl www.mage.net/images1/   
pc web  (注意此时的结果并不是/data/nginx/images1)

Después de los comentarios de apertura

root@z2:~# curl www.mage.net/images/
/data/nginx/images
root@z2:~# curl www.mage.net/images1/
/data/nginx/images1
4.5 Caso a juego - sufijos de nombre de archivo
		location ~* \.(gif|jpg|jpeg|bmp|png|tiff|tif|ico|wmf|js)$ {
    			root /data/img;
    			index index.html;
		}

     	location ^~ /images {
                root /data/nginx;
                index index.html;
		}

Subir un directorio y / data / img / imágenes1 no es el mismo que el contenido de la imagen para 1.jpg / datos / nginx / imágenes1

www.mage.net/images1/i.jpg acceso encontró que el acceso es / datos / img / images1 directorio fotos

Conclusión: el final del archivo es mayor que la prioridad de las prioridades en el principio del archivo

4.6 ubicación de prioridad

prioridad del partido: = ^ ~, ~ o ~ *, / sin signo
prioridad UBICACIÓN: (= lugar)> (ubicación de la ruta completa)> (UBICACIÓN ^ ~ Path)> (UBICACIÓN ~, ~ * orden regular)> (parte de inicio ruta de ubicación)> / sin signo

4.7 Uso Producción Casos
直接匹配网站根会加速Nginx访问处理:
location = / {
......;
}
location / {
......;
}
静态资源配置:
location ^~ /static/ {
......;
}
# 或者
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
......;
}
多应用配置
location ~* /app1 {
......;
}
location ~* /app2 {
......;
}

5. nginx el control de cuatro Acceso

Ngx_http_access_module basan en el módulo de control de acceso puede estar limitado por la dirección IP correspondiente de origen del cliente.

location /about {
alias /data/nginx/html/pc;
index index.html;
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all; #先允许小部分,再拒绝大部分
}

6. autenticación de cuenta Nginx

Prácticas y Apache como nombre de la herramienta htpasswd es el mismo, pero no son lo mismo que el nombre del paquete

root@z2:~# apt install apache2-utils  -y

htpasswd comandos utilizados comúnmente

  • -c crear un nuevo archivo
  • -b desde la línea de comandos usando una contraseña en lugar de la contraseña del sistema.
  • -m hacer cumplir la encriptación MD5 contraseña (por defecto)
root@z2:~# htpasswd -cbm /apps/nginx/conf/.htpasswd user1 123456
Adding password for user user1

root@z2:~# htpasswd -b /apps/nginx/conf/.htpasswd user2 123456
Adding password for user user2

perfiles

location = /login/ {
	root /data/nginx/html/pc;
	index index.html;
	auth_basic "login password";
	auth_basic_user_file /apps/nginx/conf/.htpasswd;
	}
}

Introduzca la contraseña necesaria para acceder www.mage.net/login/

7. página de error personalizada

	error_page 500 502 503 504 404 /error.html;
	
	location = /error.html {
    	root html;
	}

Nota: HTML aquí es todavía relativamente directorio, relativo al directorio prefix_path al instalar Nginx, instalación apta es / etc / nginx / html /.

A continuación, puede crear error.html en html.

8. registro de acceso personalizado

root@z2:~# mkdir /data/nginx/logs

nginx las definiciones de registro y atención para mantener el server una vez, fácil de post-mantenimiento

 		server_name www.mage.net;
        access_log /data/nginx/logs/www-mage-net_access.log;
        error_log /data/nginx/logs/www-mage-net_error.log;

Detectar si existe un archivo 9.

try_files serán con el fin de comprobar si existe un archivo, devuelve el primero en encontrar el archivo o carpeta (barra final se representa como carpetas), si todos los archivos
o carpetas no se pueden encontrar, vamos a realizar un redireccionamiento interno al último un parámetro. Sólo el último parámetro puede causar una redirección interna, antes de que
el ajuste único punto a la URI interna parámetro. El último parámetro es la fallback URI y debe existir, de lo contrario un error interno 500.

$ Uri se refiere a un archivo y la ruta solicitada, sin incluir el material después de la "?" O "#", $ request_uri es toda una serie de solicitudes, incluyendo la parte posterior de query_string.

location /about {
    root /data/nginx/html/pc;
 
    index index.html;
    #try_files $uri /about/default.html;  #访问的页面不存在,跳转到指定页面
    #try_files $uri $uri/index.html $uri.html /about/default.html;
    try_files $uri $uri/index.html $uri.html =489 ;
}

Verificar: montura únicamente try_files $ uri uri $ / index.html $ uri.html /about/default.html, el tiempo

root@z2:/data/nginx/html/pc/about# ls
default.html  xx.html

root@z2:/data/nginx/html/pc/about# curl www.mage.net/about/xx
xx PAGE

root@z2:/data/nginx/html/pc/about# curl www.mage.net/about/xx/
default

Sólo 设置 try_files $ uri uri $ / index.html $ uri.html = 489; pm

root@z2:/data/nginx/html/pc/about# curl    www.mage.net/about/xx
xx PAGE
root@z2:/data/nginx/html/pc/about# curl    www.mage.net/about/xx/
root@z2:/data/nginx/html/pc/about# curl  -I  www.mage.net/about/xx/
HTTP/1.1 489 
Server: nginx/1.16.1
Date: Wed, 11 Mar 2020 03:14:42 GMT
Content-Length: 0
Connection: keep-alive

10. La configuración de la conexión de largo

En el servidor, se puede configurar dentro de http

keepalive_timeout número; # se fija para estar conectado mientras que a largo tiempo de espera, 0 la desactiva la longitud de la conexión, 75s predeterminada, el campo es usualmente dispuestos como un sitio en http configuración global

número keepalive_requests; # una longitud en el número máximo de solicitudes de recursos permitidos en el conector, el valor predeterminado es 100

#仅测试用,为了显示效果,实际一般不修改
keepalive_requests 2;  


#开启长连接后,返回客户端的会话保持时间为60s,单次长连接累计请求达到指定次数请求或65秒就会被断开,后面的60为发送给客户端应答报文头部中显示的超时时间设置为60s:如不设置客户端将不显示超时时间。
keepalive_timeout 65 60;
telnet www.mage.net 80
# 下面内容直接粘贴到屏幕,然后回车
GET / HTTP/1.1
HOST: www.mage.net

Prueba: Se puede solicitar un máximo de dos veces. A continuación, desconecte más de 65 segundos o la Conexión cerrada por el host externo.

root@z2:~# telnet www.mage.net 80
Trying 192.168.1.102...
Connected to www.mage.net.
Escape character is '^]'.
GET / HTTP/1.1
HOST: www.mage.net

HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Wed, 11 Mar 2020 03:49:45 GMT
Content-Type: text/html
Content-Length: 7
Last-Modified: Tue, 10 Mar 2020 06:13:18 GMT
Connection: keep-alive
Keep-Alive: timeout=60
ETag: "5e672ffe-7"
Accept-Ranges: bytes

pc web
GET / HTTP/1.1
HOST: www.mage.net

HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Wed, 11 Mar 2020 03:49:50 GMT
Content-Type: text/html
Content-Length: 7
Last-Modified: Tue, 10 Mar 2020 06:13:18 GMT
Connection: close
ETag: "5e672ffe-7"
Accept-Ranges: bytes

pc web
Connection closed by foreign host.

11. Configurar el servidor como una descarga

root@z2:~# mkdir /data/nginx/html/pc/download
root@z2:~# vim /apps/nginx/conf/conf.d/pc.conf
root@z2:~# cp -r /data/img/ /data/nginx/html/pc/download/
location /download {
    autoindex on;  
    autoindex_exact_size on; 
    autoindex_localtime on; 
    root /data/nginx/html/pc;
                }
  • autoindex en; a su vez sobre la indexación automática
  • autoindex_exact_size en; # calcular el tamaño exacto del archivo (en bytes), fuera sólo muestra el tamaño aproximado (kb, mb, gb)
  • autoindex_localtime sucesivamente; # muestra el tiempo de máquina, no la hora GMT (Greenwich Mean)

Acceso www.mage.net/download/~~V~~singular~~3rd puede ver.

prestar atención / Contenido de la PC no aparecerá en el directorio raíz / datos / nginx / html, / data / nginx / html / pc / descargar / aparecen

límite de velocidad de descarga

limit_rate rate; #限制响应给客户端的传输速率,单位是bytes/second,默认值0表示无限制
限速与不限速的对比:
limit_rate 10k;

Validación: Antes de buscar una prueba de archivo de gran tamaño, no hay límite es 90 millones / s, pero no más de 10 k / s se han restringido después de sólo por la apariencia 8 / 9K de

servidor de carga 12. Como

En el campo http, ya que muchos servidores tienen que carga

client_max_body_size 10m;
client_body_buffer_size 16k;
client_body_temp_path /apps/nginx/temp 1 2 2; #reload Nginx会自动创建temp目录
  • client_max_body_size 1m; # autorizado el cliente máximo de carga de un solo archivo, el valor por defecto de 1 m

  • tamaño client_body_buffer_size; # para cada solicitud de cliente receptor tamaño del búfer de la porción de cuerpo del paquete; por defecto 16K, más allá de este tamaño, se almacena temporalmente en la posición indicada por la siguiente instrucción como client_body_temp_path definido en el disco

  • ruta client_body_temp_path [level1 [nivel2 [nivel 3]]]; # memoria de configuración de la ruta para almacenar temporalmente la parte de petición de cliente cuerpo del mensaje y estructura de subdirectorios y cantidad, valor después de directorio llamado números hexadecimales, utilizando hash a partir de después de interceptar un delantero, 2, 2 como el nombre del archivo:

    [root@s3 ~]# md5sum /data/nginx/html/pc/index.html
    95f6f65f498c74938064851b1bb 96 3d 4 /data/nginx/html/pc/index.html
    1级目录占1位16进制,即2^4=16个目录 0-f
    2级目录占2位16进制,即2^8=256个目录 00-ff
    3级目录占2位16进制,即2^8=256个目录 00-ff
    
Publicado 62 artículos originales · ganado elogios 7 · vistas 1258

Supongo que te gusta

Origin blog.csdn.net/qq_36801585/article/details/104880401
Recomendado
Clasificación