Método de configuración detallada de separación dinámica y estática de ngixn

Prefacio:

  Para acelerar la velocidad de análisis del sitio web, las páginas dinámicas y las páginas estáticas pueden ser analizadas por diferentes servidores para acelerar la velocidad de análisis. Reduzca la presión del servidor único original. Es más obvio cuando tomcat separa dinámicas y estáticas, porque tomcat es muy lento para analizar las estáticas. De hecho, estos principios se entienden bien. En términos simples, use expresiones regulares para hacer coincidir y filtrar, y luego entregarlas a diferentes servidores.
  Las páginas estáticas generalmente se procesan directamente por Nginx, mientras que las páginas dinámicas se envían mediante proxy al Tomcat de back-end a través de un proxy inverso, y luego se realiza el equilibrio de carga. La carga determina si se debe elegir una página estática local o un Tomcat de back-end. configuración de equilibrio.
  La separación dinámica y estática se realiza después del balanceo de carga. Por ejemplo, hay múltiples wbes estáticos y múltiples webs dinámicos. Primero, se realiza la separación dinámica y estática, y luego se realiza el balanceo y ponderación de carga en cada clúster.
Inserte la descripción de la imagen aquí


Listo para trabajar

Sistema: Centos7
Versión de Nginx: 1.18.0
Dirección: 10.8.161.75
Sistema de máquina de prueba:
Dirección Win10 : 10.8.161.61 (misma LAN)
Puerto de host proxy Nginx: 80
Puerto de host estático: 91, 92, 93, 94, 95
Puerto de host dinámico : 96, 97


1. Configuración de host estático

  1. La configuración de server1 es la siguiente, las otras cuatro configuraciones son similares
vim /etc/nginx/conf.d/server1.conf  # 在子配置文件中创建第一台配置
###   配置如下   ###
server {
    
    
        listen       91;     #定义端口为 91 端口,其他四台静态主机更换端口
        server_name  10.8.161.75;
        location / {
    
    
                  root   /var/www/nginx/server1;   # 指定网页目录,其他四台静态主机自定义更换
                  index  index.html index.htm;     # 指定访问的网页,其他四台静态主机自定义更换
                  limit_rate  2k;                                                                                                       
                 }
     }

  1. Crear página web server1, las otras cuatro tienen configuraciones similares
   vim /var/www/nginx/server1/index.html   # 配置文件中指定的目录
   
   ### 内容如下 ###
   111111111111
   

2. Configuración dinámica de host

  1. Instalar PHP7.1
###     添加PHP 7.1 yum源      ###
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
###     添加PHP 升级源         ###
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
###    yum安装PHP和运行的环境   ###
yum install php71w-xsl php71w php71w-ldap php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath php71w-mcrypt -y

  1. Inicie el servicio php y configúrelo para que se inicie automáticamente
systemctl start php-fpm
systemctl enable php-fpm
  1. Cree una configuración dinámica de host, usando php1 como ejemplo, la otra configuración es similar al
    archivo de configuración de host
vim  /etc/nginx/conf.d/php.conf
server {
    
    
        listen      96;
        server_name     localhost;
        location ~ \.php$ {
    
    
                    root          /var/www/nginx/php;  #指定动态网站目录
                    fastcgi_pass   127.0.0.1:9000;    #指定访问地址
                    fastcgi_index  index.php;       #指定默认文件
                    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;  #站点根目录,取决于root配置项
                    include        fastcgi_params;  #包含nginx常量定义
                        }
}

②Cree una página web php1, la otra tiene una configuración similar

 vim /var/www/nginx/php/index.php   #根据动态主机1指定的配置文件指定的目录和主页创建
###  内容如下  ### 
phphphphphphphp

3. Configuración de separación dinámica y estática

upstream jing {
    
                        #设置静态主机池
    # ip_hash;                     #负载均衡算法,不添加默认是轮询状态
        server 10.8.161.75:91;     #指定静态主机
        server 10.8.161.75:92;    
        server 10.8.161.75:93;
        server 10.8.161.75:94;
        server 10.8.161.75:95;
}
 
upstream dong {
    
                      #设置动态主机池
    #  ip_hash;                  #负载均衡算法,不添加默认是轮询状态 
        server 10.8.161.75:96;   #指定动态主机
        server 10.8.161.75:97;
}

server {
    
                             #代理主机配置
        listen 80;               #开启80端口 ,检查其他80端口,不要与其冲突
        server_name localhost;   #指定本机
        #动态主机 
        location ~ \.(php|jsp)$ {
    
                                         # 使用正则匹配网页后缀,如果是动态页面,跳转到动态主机池下去寻找主机       
               proxy_pass  http://dong;                               # 指定动态主机池
             # proxy_set_header Host $http_host;                      # 真实服务器的地址,可以是ip也可以是域名和url地址
             # proxy_set_header X-Real-IP $remote_addr;               # 启用客户端真实地址(否则日志中显示的是代理在访问网站)
             # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 记录代理地址
             # proxy_connect_timeout 30;                              # 后端服务器连接的超时时间发起三次握手等候响应超时时间
             # proxy_send_timeout 60;                                 # 后端服务器数据回传时间,就是在规定时间之内后端服务器必须传完所有的数据
             # proxy_read_timeout 60;                                 # nginx接收upstream(上游/真实) server数据超时, 默认60s, 如果连续的60s内没有收到1个字节, 连接关闭。像长连接
                }
        #静态主机
          location  ~ .*\.(html|gif|jpg|png|bmp|swf|css|js)$  {
    
           # 使用正则匹配网页后缀,如果是静态页面,跳转到静态主机池下去寻找主机         
               proxy_pass  http://jing;                               # 指定静态主机池
             # proxy_set_header Host $http_host;                      # 真实服务器的地址,可以是ip也可以是域名和url地址
             # proxy_set_header X-Real-IP $remote_addr;               # 启用客户端真实地址(否则日志中显示的是代理在访问网站)
             # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 记录代理地址
             # proxy_connect_timeout 30;                              # 后端服务器连接的超时时间发起三次握手等候响应超时时间
             # proxy_send_timeout 60;                                 # 后端服务器数据回传时间,就是在规定时间之内后端服务器必须传完所有的数据
             # proxy_read_timeout 60;                                 # nginx接收upstream(上游/真实) server数据超时, 默认60s, 如果连续的60s内没有收到1个字节, 连接关闭。像长连接
        }
}



Cuatro. Estructura de directorio de archivos de configuración

  1. Estructura de directorio de todos los archivos de configuración
    Inserte la descripción de la imagen aquí

  2. Estructura de directorio de todas las páginas
    Inserte la descripción de la imagen aquí


Cinco. Prueba

  1. Al visitar una página estática
    Inserte la descripción de la imagen aquí

  2. Al visitar páginas dinámicas
    Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_26129413/article/details/112623216
Recomendado
Clasificación