Nginx有哪些有趣的玩法?

老兵东雷


Nginx是一款十分优秀、轻量级、高性能的HTTP和反向代理服务器,它在Windows Server、Linux和macOS上都能稳定运行,在业内的口碑和市场占有率极高。

那Nginx是不是仅仅用来搭搭WEB服务的呢?其实不是的,Nginx用处远不止这些,还有很多高级用法,下面来给大家分享一些。

1、Nginx + Lua

Nginx支持Lua脚本,通过Lua我们可以对Nginx进行扩展,比如说:

  • 让Nginx直接操作MySQL;

  • 让Nginx直接操作Redis;

  • 图片裁剪;

  • 请求合并;

  • 对用户提交的数据进行过滤等。

2、负载均衡

将Nginx作为前端负载服务器,可以将流量分发至后端服务器,Nginx的负载均衡策略主要有:

  • 轮询:通过轮询方式来分配请求;

  • weight:通过给不同后端节点服务器指定权重来实现负载,权重高的对应的流量也会高一些;

  • ip_hash:将每个请求的ip进行hash计算,然后分配到后端服务器上,这样能保证同一个IP的请求始终是分配在同一台后端节点服务器上,会话状态可以保持;

  • url_hash:按照访问的url来进行hash计算,然后分配至节点服务器;

  • fair:这种是根据上游服务器响应时间来分配请求,优先将请求分给响应时间短的节点服务器。

3、反向代理

比如说我们将某个目录直接反向至某个站点上去。

再者可以将Nginx加在Apache、Tomcat、IIS之前。

4、动静分离

通过Nginx可以将动态请求与静态请求分开,在服务器端做不同的策略,比如静态资源设置很长的缓存时间,动态请求转发至后端服务器(如通过FastCGI)。

5、自定义响应头

可以在Nginx上自定义响应头,比如将Nginx的版本号、服务器标识信息改为自己的,用来装B格还是可以的。


以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!


网络圈


大多是围绕这web请求而玩的,列举一些:

1 负载均衡,保证服务稳定和快速这个常见,不多言

2 代理服务,可以通过它访问别的资源,甚至缓存起来这个可以缓存第三方网站内容作为自己的内容比如 http://a.com/b.jpg可以设定为 http://your.com/a.com/b.jpg rewrite并且访问http://a.com,并且缓存

3 cdn角色,缓存并且自动更新这个可以去掉请求的部分内容,也可以去掉响应的部分头信息常用可以做一个中间的server,去掉set-cookie内容,这样就可以缓存起来了,默认是缓存不了,修改后就不用修改后端服务器了

4 和memcache结合,直接缓存网页内容,快速响应5 自动裁剪图片,做缩略图6 对客户端限速处理7 第三方组件更多特色玩法了


分享到:


相關文章: