Método de configuração detalhada de separação estática e dinâmica Ngixn

Prefácio:

  Para acelerar a velocidade de análise do site, páginas dinâmicas e páginas estáticas podem ser analisadas por diferentes servidores para acelerar a velocidade de análise. Reduza a pressão do servidor único original. É mais óbvio quando o tomcat separa a dinâmica da estática, porque o tomcat é muito lento para analisar a estática. Na verdade, esses princípios são bem compreendidos. Em termos simples, use expressões regulares para combinar e filtrar e, em seguida, entregue-as a servidores diferentes.
  As páginas estáticas geralmente são processadas diretamente pelo Nginx, enquanto as páginas dinâmicas são enviadas por proxy para o Tomcat de back-end por meio de um proxy reverso e, em seguida, o balanceamento de carga é executado. A escolha de uma página estática local ou de um Tomcat de back-end é determinada pela carga configuração de balanceamento.
  A separação dinâmica e estática é feita após o balanceamento de carga. Por exemplo, há vários wbes estáticos e várias webs dinâmicas. Primeiro, a separação dinâmica e estática é realizada e, em seguida, o balanceamento de carga e a ponderação são realizados em cada cluster.
Insira a descrição da imagem aqui


Pronto para trabalhar

Sistema: Centos7
Versão Nginx: 1.18.0
Endereço: 10.8.161.75
Sistema da máquina de teste:
Endereço Win10 : 10.8.161.61 (mesma LAN)
Porta do host proxy Nginx: 80
Porta do host estático: 91, 92, 93, 94, 95
porta do host dinâmico : 96, 97


1. Configuração de host estático

  1. A configuração do server1 é a seguinte, as outras quatro configurações são semelhantes
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. Crie a página da web server1, os outros quatro têm configurações semelhantes
   vim /var/www/nginx/server1/index.html   # 配置文件中指定的目录
   
   ### 内容如下 ###
   111111111111
   

2. Configuração de host dinâmico

  1. Instale o 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 o serviço php e configure para iniciar automaticamente
systemctl start php-fpm
systemctl enable php-fpm
  1. Crie uma configuração de host dinâmica, usando php1 como exemplo, a outra configuração é semelhante ao
    arquivo de configuração 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常量定义
                        }
}

②Crie uma página da web php1, a outra tem configuração semelhante

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

3. Configuração de separação dinâmica e 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个字节, 连接关闭。像长连接
        }
}



Quatro. Estrutura do diretório do arquivo de configuração

  1. Estrutura de diretório de todos os arquivos de configuração
    Insira a descrição da imagem aqui

  2. Estrutura de diretório de todas as páginas
    Insira a descrição da imagem aqui


Cinco. Teste

  1. Ao visitar uma página estática
    Insira a descrição da imagem aqui

  2. Ao visitar páginas dinâmicas
    Insira a descrição da imagem aqui

Acho que você gosta

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