Nginx 指导:概要
上一篇主要了解了 Nginx的结构以及配置文件。本篇从这里继续,了解 nginx 的概要: 架构所需要的模块以及高级配置技巧。
Nginx模块
Nginx 最厉害的是他的模块。整个的架构可以被想象成由各种各样的模块建成,或者可以想象成基于 nginx的核心在上面所建立的各种功能。要使用他们,最好能从源代码级别编译他们,并设置他们为可运行。
有些模块如果没有特别的定义,他们会自动编译的。 对于这些模块,我们找些有趣的模块研究一下,看看他们是如何被广泛应用的。
受限制的访问:
访问:(ngx_http_access_module): 该模块可以对指定的 IP地址进行限制访问。
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
HTTP 授权:(ngx_http_auth_basic_module): 允许通过HTTP基本的用户名密码授权访问:
location / {
auth_basic "password";
auth_basic_user_file conf/htpasswd;
}
子请求授权:(ngx_http_auth_request_module): 根据子请求的结果执行客户端的授权。
限制链接:(ngx_http_auth_request_module):允许您定义从某一个 IP 地址上可以发起的最大并发链接数。
限制请求:(ngx_http_limit_req_module): 限制从单个 IP地址上发起的请求数量。
大多数在 Nginx 编译过程中就能被激活的模块就更在这里了。同时我也来介绍一些第三方模块,对您实际的使用将更有帮助。
第三方模块:
在使用这些模块时,首行得下载他们,并放到指定的Nginx目录下进行编译,就如同下面的代码所示:(我们假定您正工作在 nginx source目录之下)。
Nginx wiki 列出一些大家很喜欢用的第三方模块。在这些模块中,让我们选择这个重写网页并使用公共资源以减少延迟和带宽的模块。
Ngx_pagespeed:
这个模块是 Google 在 PageSpeed 项目里开发的。 目的很明显就是为了利用Nginx的通信优化模式,提高页面加载时间。
请根据 安装 ngx_pagespeed 的教程来安装这个模块。该模块也是您服务器必须安装的模块之一。
Nginx-rtmp-module:
实时流,录制, 在线转码, 高级缓存技术。 该模块很容易就能帮到您。
Nginx-push-stream-module
Nginx 里的HTTP 流推送模块。 支持事件源长文件的轮流检测。查看例子: WebSocket.
其它的提要:
在使用 Nginx, 下面的这些工具也非常有帮助:
- ngxtop: ngxtop 能够解析 nginx 的访问日志并且输出nginx 服务器的顶级指表。
- Ngx_openresty: 将 nginx 转变成为全功能的网络应用服务器。
- Server configs: 是nginx 配置文件小段的仓库。 在你开始配置服务器并且想要设置的正确时,该仓库就发挥了重要的作用。他能帮助你提高网站的性能以及安全性,还能协助你分配资源使用。
- Lua-nginx-module: 把Lua 内嵌入 Nginx中去。
- H5ai: 值得探索, 一个 HTTP网站服务器索引模块,包括了 Apache Httpd, lighttpd, nginx 以及 Cherokee.
- Nginx 资源大全:
- 如何写一个 nginx 模块。
不深思则不能造于道。不深思而得者,其得易失。
名人名言- 曾国藩
- By 优联实达
- 2015-11-08
- 3260
- 公司新闻,网站开发,网站设计,UI