一台机器上配置代理及动静分离 负载均衡

2019-10-10  本文已影响0人  Oooyzx

基于nginx 的在一台机器上配置反向代理及实现动静分离 负载均衡功能:

1.配置虚拟IP

  ifconfig enp0s25:1 10.0.13.100
  ifconfig enp0s25:2 10.0.13.101
  ifconfig enp0s25:3 10.0.13.102
  ifconfig enp0s25:4 10.0.13.103

2.在/etc/nginx/conf.d/创建两个.conf文件

用来写处理动静文件的服务器配置文件
(分别为 static.conf 和 move.conf)

vim static.conf

#在static.conf中写入如下内容:
server {
   listen 10.0.13.102:80;
   server_name www.static_html.com;
   access_log   /var/log/www.static_html.com.log main;
   error_log    /var/log/www.static_html.com.error.log;
   set_real_ip_from 10.0.13.102;
   location / {
        root  /usr/share/nginx/static;
        index index.html;
       }
}

server {
   listen 10.0.13.103:80;
   server_name www.static_html1.com;
   access_log   /var/log/www.static_html1.com.log main;
   error_log    /var/log/www.static_html1.com.error.log;
   set_real_ip_from 10.0.13.103;
   location / {
        root  /usr/share/nginx/static1;
        index index.html;
       }
}

vim move.conf

#在move.conf中写入如下内容:
server {
   listen 10.0.13.100:80;
   server_name www.move_html.com;
   access_log   /var/log/www.move_html.com.log main;
   error_log    /var/log/www.move_html.com.error.log;
   set_real_ip_from 10.0.13.100;
   location / {
        root  /usr/share/nginx/move;
        index index.php;
       }
}

server {
   listen 10.0.13.101:80;
   server_name www.move_html1.com;
   access_log   /var/log/www.move_html1.com.log main;
   error_log    /var/log/www.move_html1.com.error.log;
   set_real_ip_from 10.0.13.101;
   location / {
        root  /usr/share/nginx/move1;
        index index.php;
       }
}

3. 在/usr/share/nginx/下创建四个文件夹

分别为static、static1、move、move1用来放动静网页 并将网页内容+ip 写入对应的index文件中 在轮询时加以区别显示

mkdir static
echo 'static html 10.0.13.102'>static/index.html
mkdir static1
echo 'static html 10.0.13.103'>static1/index.html
##############################################
mkdir move
echo 'move html 10.0.13.100'>move/index.php
mkdir move1
echo 'move html 10.0.13.101'>move1/index.php

4.在/etc/nginx/conf.d/下创建proxy.cof文件

vim proxy.conf

在代理文件中写入配置内容:

#设置处理动静轮询的虚拟ip:
upstream moveweb {
    server 10.0.13.100 ; 
    server 10.0.13.101 ;
}
upstream staticweb {
    server 10.0.13.102 weight=1;   #可设置一定的权重
    server 10.0.13.103 weight=2;
}
server {
   listen 10.0.122.38:80;    #真实物理机ip
   server_name www.proxy.com;
   root         /usr/share/nginx/proxy;
   access_log   /var/log/www.static.com.log main;
   error_log    /var/log/www.static.com.error.log;
   location ~ .*\.(html|gif|jpg|png|bmp|swf|jpeg)$ { #正则匹配静态页面,以后缀可区分
              proxy_pass http://staticweb;
              proxy_set_header Host $http_host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
              proxy_set_header X-NginX-Proxy true;
              proxy_connect_timeout 30;
              proxy_send_timeout 60;
              proxy_read_timeout 60;
              proxy_buffering on;
              proxy_buffer_size 32k;
              proxy_buffers 4 128k;
              proxy_busy_buffers_size 256k;
              proxy_max_temp_file_size 256k;
       }
   location ~ \.php$ {    #正则匹配动态页面,以后缀可区分
              proxy_pass http://moveweb;
              proxy_set_header Host $http_host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
              proxy_set_header X-NginX-Proxy true;
              proxy_connect_timeout 30;
              proxy_send_timeout 60;
              proxy_read_timeout 60;
              proxy_buffering on;
              proxy_buffer_size 32k;
              proxy_buffers 4 128k;
              proxy_busy_buffers_size 256k;
              proxy_max_temp_file_size 256k;
       }


}


上一篇 下一篇

猜你喜欢

热点阅读