反向代理

nginx配置文件

events  {   }  事件驱动

httpd  {   }   关于httpd相关的配置

server {  }  定义虚拟主机

location {   }    URI的访问属性

location ~*\.php$ {   做正则表达式,所有以.php结尾的文件

fastcgi_pass  127.0.0.1:9000   反向代理,去127.0.0.1:9000这个地方请求需要的数据

}

反向代理:

proxy_pass :这个选项直接指定一个反向代理

proxy_set_header :将用户请求转发至后端服务器时,可以设定一个独特的头部!

负载均衡

upstream  webserver  {    定义服务器组的名称       负载均衡选项要定义在server模块之外

ip_hash;  将来自于同一个客户端的请求,始终定向到同一个服务器

server 192.168.2.129  weight=1  max_fails=2     fail_timeout=2;

选定一个内部服务器 权重为1   最多错误几次   每次检查持续时间

server 192.168.2.128  weight=1  max_fails=2  fail_timeout=2;

server  127.0.0.1:8080  backup;    }

当上面服务器全部挂掉时,出现这个页面!

server {

listen       80;

server_name  localhost;

location  /  {

proxy_pass  http://webserver/;   反向代理,这里要改为upstream组名,指的是反向代理这个组中的所有成员!

}

}

重新定义一个server,设定,当我们的服务器全部挂掉时,出现这个页面。

定义完server后,在upstream模块中添加上这个服务器!

server  {

listen  8080;

server_name localhost;

root /www/a.org;

index  index.html;

}

nginx支持三种负载均衡算法:

round-robin  :加权,个!第一个级别1个字符,第二个级别2个字符。。。。

keys_zone     存储键的区域,区域大小

max_size      缓存目录大小

格式:proxy_cache_path   /ngnx/hun    levels=1:2:1    keys_zone=fst:20m    max_size=1G;

缓存目录       缓存

cache_manager :根据最近最少使用算法,将那些此前没有用的缓存给他清除出去。

定义完缓存,还需要在location模块中启用它,proxy_cache   缓存名,这里的缓存名就是keys_zone中定义的名字

另外的三种缓存:

open_log_cache :日志缓存

open_file_cache

fastcgi_cache

动静分离

webDAV :一种基于HTTP1.1协议的通信协议,他扩展了HTTP1.1,使应用程序可直接对web  server 直接读写,并支持文件锁定及解锁,支持文件的版本控制

#动态页面交给http://tdt_wugk,也即我们之前在nginx.conf定义的upstream tdt_wugk 均衡

location ~ .*\.(php|jsp|cgi)?$

{

proxy_set_header Host  $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://tdt_wugk;

}

#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。

location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$

{

root /data/www/wugk;

#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力

expires      3d;

}

平滑升级

Nginx方便地帮助我们实现了平滑升级。其原理简单概括,就是:

(1)在不停掉老进程的情况下,启动新进程。

(2)老进程负责处理仍然没有处理完的请求,但不再接受处理请求。

(3)新进程接受新请求。

(4)老进程处理完所有请求,关闭所有连接后,停止。

操作步骤:

1、使用nginx  -V  查看旧版本./configure的选项

2、使用旧版本的./configure的选项编译新版本,编译时不能make install

3、编译完成之后,把旧版本的可执行文件备份或者改名,

4、新版本编译完成之后,在解压包目录中objects文件夹下有新版本的可执行文件,把它复制到旧版本可执行文件的文件路径下。

5、测试新版本nginx是否正常,使用新版本的可执行文件  nginx   -t  -c   nginx的主配置文件

6、在新版本nginx的解压目录下执行命令升级:make  upgrade

7、升级之后使用:nginx  -v查看版本信息。

Nginx的特性功能-反向代理、负载均衡、缓存、动静分离、平滑升级的更多相关文章

  1. 项目实战2.2—nginx 反向代理负载均衡、动静分离和缓存的实现

    实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备注 nginx VIP:172.17.11.11 反向代理服务器 开启代理功能 设置监控,调度 rs01 RIP ...

  2. 项目实战2.1—nginx 反向代理负载均衡、动静分离和缓存的实现

    总项目流程图,详见 http://www.cnblogs.com/along21/p/8000812.html 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备 ...

  3. 项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现

    目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:ng ...

  4. 001/Nginx高可用模式下的负载均衡与动静分离(笔记)

    Nginx高可用模式下的负载均衡与动静分离 Nginx(engine x)是一个高性能的HTTP和反向代理服务器,具有内存少,并发能力强特点. 1.处理静态文件.索引文件以及自动索引:打开文件描述符缓 ...

  5. Nginx特性验证-反向代理/负载均衡/页面缓存/URL重定向

    原文发表于cu:2016-08-25 参考文档: Nginx 反向代理.负载均衡.页面缓存.URL重写等:http://freeloda.blog.51cto.com/2033581/1288553 ...

  6. 【05】Nginx:TCP / 正向 / 反向代理 / 负载均衡

    写在前面的话 在我们日常的工作中,不可能所有的服务都是简单的 HTML 静态网页,nginx 作为轻量级的 WEB 服务器,其实我们将它用于更多的地方还是作为我们网站的入口.不管你是后端接口,还是前端 ...

  7. Nginx加多个tomcat实现负载均衡,动静分离

    一:Nginx+Tomcat的动静分离 所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片.html等静态的文件,tomcat(或weblogic)处理jsp.do等动态文件,从 ...

  8. nginx之rewrite重写,反向代理,负载均衡

    rewrite重写(伪静态): 在地址栏输入xx.com/user-xxx.html, 实际上访问的就是xxx.com/user.php?id=xxx rewrite就这么简单 附上ecshop re ...

  9. 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

    Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...

随机推荐

  1. Docker入门笔记(Centos7)

    centos7 wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo vim docker-c ...

  2. vue中使用element-ui自定义主题后,vue-cli跑不起来了

    环境:vue-cli 2.x版本 自己在官网配置了主题并放到了项目中https://element.eleme.cn/#/zh-CN/theme 然后,我的脚手架在我的电脑中休息了几天,就跑不通了呢! ...

  3. WGS 全基因组测序数据分析

    1. DNA测序技术 https://www.jianshu.com/p/6122cecec54a 2.FASTA和FASTQ文件格式 https://www.jianshu.com/p/50ff30 ...

  4. Docker环境下的前后端分离项目部署与运维(六)搭建MySQL集群

    单节点数据库的弊病 大型互联网程序用户群体庞大,所以架构必须要特殊设计 单节点的数据库无法满足性能上的要求 单节点的数据库没有冗余设计,无法满足高可用 单节点MySQL的性能瓶领颈 2016年春节微信 ...

  5. 解决coursera笔记本(ipynb)打不开的问题

    最近在coursera听课,发现notebook打不开,一直显示加载中. 想到了可能被墙,苦于没有梯子.最后F12,发现有报错 Failed to load resource: net::ERR_CO ...

  6. Python UDP小程序

    为了做UDP的测试,采用了nc和Python的服务器端. nc的安装和使用: yum install -y nc nc -vuz Python的UDP服务器端小程序: # -*- coding: UT ...

  7. Azure DevOps Server (TFS) 修改Git文件大小限制

    签入Git的所有文件将永远保留在存储库中,限制大文件签入到代码库,可以增加磁盘使用效率,提高系统备份还原等日常维护的效率. 通过下面的设置,团队项目管理员可以阻止超过特定大小的文件进入存储库.如果推送 ...

  8. Linux+Nginx+Supervisor部署ASP.NET Core实操手册

    一.课程介绍 在上一节课程<ASP.NET Core托管和部署Linux实操演练手册>中我们学过net core的部署方式多样性和灵活性.我们通过远程工具输入dotnet 程序集名称.dl ...

  9. [记录]安装.Net Framework 4.6.2时出现“无法建立到信任根颁发机构的证书链”解决方法

    在安装Microsoft .NET Framework 4.6.2脱机包时提示 无法建立到信任根颁发机构的证书链 实际上是要安装一个根证书.解决方案如下(因无法贴链接,可百度搜索“mamicode.c ...

  10. Java中的数据类型与运算符

    一.变量的命名 (1)什么是变量:变量是java中存储数据的空间. (2)变量命名的规则:由:数(数字),字(字母),下(下划线),美(美元符号),人(人名币符号)组成的标识符.注:数字不能作为首字母 ...