Linux Centos7 实现nginx的七层负载均衡和动静分离

Linux Centos7 实现nginx的七层负载均衡和动静分离,第1张

概述一:环境 准备一个nginx代理服务器 三台http服务器两台处理静态和一台处理动态。(nginx/1.17.3) 二、在nginx主配置文件配置nginx反向代理upstream(地址池)指向真实服务器 vim /etc/nginx/nginx.conf 在http标签中加 upstream static { server 10.30.161.214:80 weight=2 max_fa 一:环境
准备一个Nginx代理服务器 三台http服务器两台处理静态和一台处理动态。(Nginx/1.17.3)

二、在Nginx主配置文件配置Nginx反向代理upstream(地址池)指向真实服务器

vim /etc/Nginx/Nginx.conf

在http标签中加

upstream static {    server 10.30.161.214:80 weight=2 max_fails=2 fail_timeout=2s;    server 10.30.161.242:80 weight=2 max_fails=2 fail_timeout=2s;    }       upstream PHP {    server 10.30.161.241:80 weight=2 max_fails=2 fail_timeout=2s;       }

三、在子配置文件中

vim /etc/Nginx/conf.d/proxy.conf

1、动态资源加载
在server标签中添加

location ~ \.(PHP|Jsp)$ {    proxy_pass http://PHPserver;    #指向动态服务器地址池    proxy_set_header Host $host:$server_port;    #重新定义或者添加发往后端服务器的请求头$host真实服务器主机名$server_port端口    proxy_set_header X-Real-IP $remote_addr;    #启用客户端真实地址(否则日志中显示的是代理在访问网站)    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    #显示http请求端的真实IP    }

2、静态资源加载

location ~ .*\.(HTML|gif|jpg|png|bmp|swf|CSS|Js)$ {        proxy_pass http://static;        proxy_set_header Host $host:$server_port;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            }        }

至此代理服务器配置完成

四、两台静态服务器的单独配置

server {    Listen 80;    server_name     localhost;    location ~ \.(HTML|jpg|png|Js|CSS|gif|bmp|jpeg) {    root   /web1;    index  index.HTML;}

}
配置静态项目
静态服务器1

mkdir /web1        echo "this is jingtai11111" > /web1/index.HTML

静态服务器2

mkdir /web1        echo "this ID jingtai22222" > /web1/index.HTML

五、一台动态服务器的单独配置

yum 安装PHP7.1
[[email protected] ~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm[[email protected] ~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm[[email protected] ~]#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[[email protected] ~]#yum install -y PHP71w-fpm[[email protected] ~]#systemctl start PHP-fpm[[email protected] ~]#systemctl enable PHP-fpm

编辑Nginx的配置文件:

server {        Listen      80;        server_name     localhost;        location ~ \.PHP$ {            root           /web1;  #指定网站目录            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常量定义                }        }

配置动态web1上项目

mkdir /web1 cd /web1 vim index.PHP  <?PHPPHPinfo();?>

六、测试
1,静态访问测试
用浏览器访问代理服务器IP 10.30.161.51/index.HTML
即可访问到静态服务器/web1上的项目,并且两台服务器来回切换,这就实现了Nginx的负载均衡

2,动态访问测试用浏览器访问代理服务器IP 10.30.161.51/index.PHP即可访问到动态服务器/web1上的项目,从而实现了Nginx的动静分离

总结

以上是内存溢出为你收集整理的Linux Centos7 实现nginx的七层负载均衡和动静分离全部内容,希望文章能够帮你解决Linux Centos7 实现nginx的七层负载均衡和动静分离所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1024243.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存