The Nginx fair proxy balancer enhances the standard round-robin load balancer provided with Nginx so that it will track busy back end servers (e.g. Thin, Ebb, Mongrel) and balance the load to non-busy server processes.
fair是一个第三方Nginx-upstream负载均衡插件。upstream-fair 是比内建的负载均衡更加智能的负载均衡模块,fair模块会对全局的请求进行统计,并根据该服务器空闲状态,及处理过的请求及所有请求数、页面大小、加载时间长短智能的进行负载均衡。

本文将介绍Nginx集成upstream-fair的过程(本文假设Nginx已安装完成)。

2018年10月09日 教程整理
阅读更多...

Lua 是一个简洁、轻量、可扩展的脚本语言,也是号称性能最高的脚本语言,用在很多需要性能的地方,比如:游戏脚本,nginx,wireshark的脚本。很多应用程序使用Lua作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。
Lua原生支持的数据类型非常之少,它只提供了nil、数字(缺省是双精度浮点数,可配置)、布尔量、字符串、表、子程序、协程(coroutine)以及用户自定义数据这8种。但是其处理表和字符串的效率非常之高,加上元表的支持,开发者可以高效的模拟出需要的复杂数据类型(比如集合、数组等)。Lua是一个动态弱类型语言,支持增量式垃圾收集策略。有内建的,与操作系统无关的协作式多线程(coroutine)支持。它还可以用于嵌入式硬件,不仅可以嵌入其他编程语言,而且可以嵌入微处理器中。

Nginx采用模块化的架构,官方版本的Nginx中大部分功能都是通过模块方式提供的,比如Http模块、Mail模块等。通过开发模块扩展Nginx,可以将Nginx打造成一个全能的应用服务器,这样可以将一些功能在前端Nginx反向代理层解决,比如登录校验、js合并、甚至数据库访问等等。

但是,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者对其望而生畏。

Nginx_Lua_Module是一个Nginx第三方模块,通过将Lua解释器集成进Nginx的配置中,支持引用Lua脚本文件/代码段实现业务逻辑,从而极大增强了Nginx的能力。由于lua的紧凑、快速以及内建协程,所以在保证高并发服务能力的同时极大地降低了业务逻辑实现成本。
Nginx+Lua是一个非常好的组合,它允许使用一个高性能的脚本语言扩展Nginx。Nginx有很多方法是自带的,但是使用Lua没有限制的。

本文将介绍ngx_lua的安装与配置过程。

2018年10月08日 教程整理
阅读更多...

有些时候为了不让其他人知道自己使用的服务器IP的时候我们喜欢使用反向代理避免这种问题。

通常我们使用的反向代理大多数是nginx设置的。但是在我们对网站的图片等信息更新时候会出现信息更改后仍然不能正常显示,那可能是因为反向代理的原因,所以在我们更新了信息后,同时也要更新代理服务器上的缓存。

这里讲下我们常用的nginx的缓存存在的位置。

操作方法是:

通常nginx的缓存文件是存放在/home/cache/缓存文件下。我只只需要删除里面的内容,重新访问生成就可以了。

命令如下:

rm -rf /home/cache/*
2017年11月26日 教程整理
阅读更多...

在配置nginx 时,有时会提示如下错误:

nginx: [emerg] getpwnam("www") failed

这里有两种解决方案:

0.1. 去除user nobody配置

在nginx.conf中 把user nobody的注释去掉既可

0.2. 创建www用户

错误的原因是没有创建www这个用户,应该在服务器系统中添加www用户组和用户www,如下命令:

/usr/sbin/groupadd -f www
/usr/sbin/useradd -g www www

以上方法测试通过,启动后,在浏览器里输入服务器IP,即可查看到:

Welcome to nginx!

的欢迎界面。

2017年11月26日 教程整理
阅读更多...

ngx_pagespeed是Nginx的一个扩展模块,主要的功能是针对前端页面而进行服务器端的优化,对前端设计人员来说,可以省去优化css、js以及图片的过程。

作为Nginx的组件,ngx_pagespeed的主要作用是自动合并和缩减js/css脚本,以及图片的压缩实现前端网页的重写,让用户以更快的速度进行访问。

PageSpeedpagespeed 主要用来加快浏览器的渲染加载,旨在缩短网页加载的时间,减少网站服务器的带宽使用量。有了 PageSpeed,网站开发人员就可以在开发前端页面的时候,可以稍微轻松一点,把前端优化的任务都交给服务器来处理。虽然这会使服务器负载增加;但从减少客户请求数的角度去看,牺牲部分服务器性能还是值得的,随着服务器的逐渐普及,对应的负载可以通过增加服务器配置来支持。

2017年11月25日 教程整理
阅读更多...

Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

1. ** 安装环境及文件准备**

1.1. 系统环境

Ubuntu 16.04。

2017年11月12日 教程整理
阅读更多...