博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx配置负载均衡
阅读量:5032 次
发布时间:2019-06-12

本文共 2942 字,大约阅读时间需要 9 分钟。

前两天在学习负载均衡,然后就看到了nginx,当前做反向代理,负载均衡 nginx用的确实比较大,比如阿里用的Tengine也是基于nginx之后改的。当然,我们的项目中也有在用nginx。

nginx是一款反向代理的服务器,目的就是转发http请求。这样,可以不知道服务器地址,就可以对请求进行转发。nginx,可以理解为一个中间人,用户操作客户端,通过nginx转发到后端,后端请求处理返回给用户。

这里贴出下载地址(windows):http://nginx.org/download/nginx-1.14.0.zip  

linux下安装我使用的docker容器安装的:

   第一步从docker下拉下来nginx实例 docker pull nginx

   第二步运行该实例,用设置端口等(若服务器占用80端口,请设置xx为其他未占用端口)   docker run -p xx:80 --name nginx -v $PWD/www:/www -v $PWD/logs:/wwwlogs -d nginx

  如果安装在linux下,不了解docker,请自行百度,linux下安装docker

安装完成之后就可以进入实例,并配置nginx的反向代理和负载均衡了;

(负载均衡:为了减免服务器压力,同过设置权重随机访问server服务器,当一个用户访问该接口,压力很小,但是100万个人访问该接口压力就很大了,负载均衡起的就是酱紫的作用,可配置多台服务器进行http请求)。

下来,开始配置nginx 反向代理:

打开conf下的nginx.conf文件,

其他暂时不看,这里直接看重点,

#这个是需要转发的目标服务器地址以及端口号 upstream mynginx{    server localhost:8080; #Apache} ## Start www.quancha.cn ##server {    listen 80;    server_name  localhost;    index  index.html index.htm index.php;     ## send request back to apache ##    location / {
     #需要转发请求的服务器 负载均衡也是如此配置 proxy_pass http://mynginx; #Proxy Settings proxy_redirect off;#是否跳转 proxy_set_header Host $host; #请求要转发的host proxy_set_header X-Real-IP $remote_addr;#请求的远程地址 这些在浏览器的header都可看,不一一解释 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout 90; #连接前面的服务器超时时间 proxy_send_timeout 90;#请求转发数据报文的超时时间 proxy_read_timeout 90;#读取超时时间 proxy_buffer_size 4k; # 缓冲区的大小 proxy_buffers 4 32k; # proxy_busy_buffers_size 64k; # #proxy_buffers缓冲区,网页平均在32k以下的 proxy_temp_file_write_size 64k; ##高负荷下缓冲大小(proxy_buffers*2) }}

这样配置就可以起到反向代理的作用

 

负载均衡类似,配置多个tomcat地址,这里是伪集群方式

#配置多台服务器(这里只在一台服务器上的不同端口)  upstream mysvr {       #权重比设置为1  : 3  意思为  用户请求四次服务器,平均访问8082端口3次,8081端口一次,以此达到服务器均衡的作用(高并发)        server 127.0.0.1:8081 weight=1;      server 127.0.0.1:8082 weight=3;  #热备}
server {        listen       80;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;     #静态文件,nginx自己处理        location ~ ^/(images|javascript|js|css|flash|media|static)/ {                        #过期30天,静态文件不怎么更新,过期可以设大一点,            #如果频繁更新,则可以设置得小一点。            expires 30d;        }    location  ~*^.+$ {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。           #root path;  #根目录           #index vv.txt;  #设置默认页           proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表           #deny 127.0.0.1;  #拒绝的ip           #allow 172.18.5.54; #允许的ip                   }         location / {            root   html;            index  index.html index.htm;        }}

下来配置server{ } ,与反向代理配置类似,这里需要注意,反向代理比较适用于对静态资源的访问(反向到静态资源服务器),负载均衡比较适用于对后端服务器集群

 

至此,Nginx简单配置写完,记录自己的学习成果!以上仅为自己的见解,如有异议,可在评论区留言,转载请注明出处。

转载于:https://www.cnblogs.com/ChoviWu/p/9004725.html

你可能感兴趣的文章
00045_多态-转型
查看>>
VS项目中使用Nuget还原包后编译生产还一直报错?
查看>>
Servlet 生命周期、工作原理
查看>>
微信公共平台开发-(.net实现)4--发送图文消息
查看>>
材料知识--电池电极
查看>>
springMVC + spring + mybatis (SSM)合集
查看>>
python new和init知识点
查看>>
在SharePoint 2010中修改XsltListViewWebPart显示字段样式
查看>>
Centos6.5ifconfig不显示ip问题
查看>>
T-SQL语句学习(一)
查看>>
装箱拆箱(一)
查看>>
Python3 PyMySQL 的使用
查看>>
11个审查Linux是否被入侵的方法
查看>>
CentOS6.7源码安装MySQL5.6
查看>>
android Bitmap总结
查看>>
触发器简介
查看>>
JAVA反射机制的学习
查看>>
mysql - rollup 使用
查看>>
洛谷 - P1443 - 马的遍历 - bfs
查看>>
大数的阶乘
查看>>