网站首页 > 技术教程 正文
【本文中,很多图中的文字看不清,可以参考下面的链接:https://www.jianshu.com/p/7bc6dbef9720】
上篇文章演示了,Nginx是如何做为一个静态服务器工作的;那么我们将这个服务器作为上游服务器;今天我们再搭建一个Nginx来作为反向代理,演示Nginx作为具有缓存功能的反向代理如何使用; 也就是说,使用nginx的两个功能:
- 反向代理
- 缓存
由于上游服务器要处理非常复杂的业务逻辑,性能可能比较低,使用Nginx作为反向代理以后呢,可以由一台Nginx,把请求按照复杂均衡算法,代理给多台上游服务器工作,这样我们就实现了水平扩展,在用户无感知的情况下,我们添加更多的上游服务器,来提升我们的处理性能。 而当上游服务器出现问题的时候,nginx可以自动的把请求,从有问题的服务器转交给正常的服务器来处理。
首先,我们需要将上一篇文章中的静态资源dlib服务做一定的修改,只能本机访问8080端口;因此,修改完nginx.conf的内容,如下:
接下来,我们使用OpenResty版本的nginx作为反向代理,因此,需要下载、安装此版本:
官网地址:
http://openresty.org/cn/linux-packages.html
OpenResty安装位置:
通过下面的命令,可以启动openresty版本的nginx
systemctl start openresty
因为nginx服务是部署在window下的虚拟机(centos7)里的,
因此需要在window下的hosts文件里,配置域名映射关系;
接下来,我们访问以下配置文件中定义的域名:
接下来重新看一下,proxy_pass的相关配置:
proxy_set_header 这个命令,起到什么作用呢?因为有了一个反向代理,所以我们再获取一些变量或者一些值的时候,可能就会出问题;比方说,一个tcp链接是由对端地址的,但是有了反向代理以后,那么我们的反向代理与客户端是一个tcp链接,而反向代理与上游服务器又是另一个tcp链接,因此,如果取以前的变量remote_addr,也就是tcp远端的连接地址,那么这个时候,在上游服务那里,取到的实际上是反向代理的地址,如果想获得浏览器的地址,作为限制浏览器访问速度等功能的一个作用时,其实是拿不到的,所以通过命令proxy_set_header命令,可以把一些值添加一条新的header,如X-Real-IP,发送到上游服务器;host也是,用户访问的域名是直接在浏览器中输入的,我们即可以上游服务器来处理这个域名,也可以让反向代理处理域名
那么,proxy所有配置特性,可以在官网中查询,地址如下: /
因为nginx作为反向代理的时候,通常只有动态的请求,也就是不同的用户,访问同一个url, 看到的内容是不同的,这个时候,才会交由上游服务器处理,但是,可能会有一些内容在某段时间内是不变的,这个时候为了减轻上游服务器的压力,我们就会让nginx把上游服务返回的内容,缓存一段时间,比如一天,在一天之内,即使上游服务器对这个内容的响应发生了变化,也不处理;只会拿已经缓存的内容,向浏览器进行响应,因为nginx的性能远远领先与上游服务器的性能,所以对于小的站点会有大的性能提升
二、配置缓存功能
好的,接下来,我们演示一下,如何配置一个缓存服务器:
先进行缓存类型的设置,如下图所示:
那么如何使用刚才配置的缓存呢?
修改完成openresty版本的配置文件后,
重新启动openresty服务:
systemctl restart openresty
三、 验证缓存
接下来,开始验证,缓存是否起作用? 先关闭掉以前的静态资源服务: /sbin/nginx -s stop 再刷新页面
(请注意: 如果以前的静态资源服务已经关闭了,请打开,然后访问一次静态资源,这样,缓存服务才能缓存静态资源; 然后,此时关闭静态资源服务,验证刚才配置的缓存是否有效果。)
猜你喜欢
- 2024-09-16 Windows使用nginx时,端口被占用怎么办?
- 2024-09-16 使用nginx对视频、音频、图片等静态资源网址,加token签权
- 2024-09-16 快速建立php的Windows开发环境(win10搭建php环境)
- 2024-09-16 windows下php开发环境php+nginx单步安装
- 2024-09-16 Windows+php7+nginx1.14+apache+mysql配置
- 2024-09-16 windows环境下tomcat+nginx负载均衡集群配置,动静分离
- 2024-09-16 在windows环境下 nginx + .net core 3.1 实现反向代理和负载均衡
- 2024-09-16 如何解决Nginx服务器,启动成功,访问无效
- 2024-09-16 超强windows10稳定Nginx绿色环境,可无限自定义PHP和mysql版本、同时运行N个版本
- 2024-09-16 windows服务器配置nginx日志分割(nginx 日志配置)
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)