
Nginx
wdt3385
这个作者很懒,什么都没留下…
展开
-
如何实现Nginx+Keepalived中Nginx进程的高可用
在负载均衡高可用技术上,我一直主力推崇以Nginx+Keepalived作Web的负载均衡高可用架构,并积极将其应用于真实项目中,此架构极适合灵活稳定的环境。AD:此架构我简单说明下:一般为了维护方便,企业网站的服务器都在自己的内部机房里,只开放了Keepalived的VIP地址的两个端口80、443,通过Juniper SSG550防火墙映射出转载 2013-01-09 13:49:50 · 701 阅读 · 0 评论 -
深入理解nginx读书笔记1——研究 Nginx 前的准备工作
摘自《深入理解nginx》的一些信息,作为以后的查看资料。 2012 年,Nginx 荣获年度云计算开发奖(2012 Cloud Award for Developer of the Year),并成长为世界第二大 Web 服务器。全世界流量最高的前 1000 名网站中,超过 25% 都使用Nginx 来处理海量的互联网请求。Nginx 已经成为业界高性能 Web 服务器的原创 2013-08-07 14:54:20 · 1340 阅读 · 0 评论 -
nginx源码分析-链表
nginx封装的list和我们在学习数据结构时的list略有点区别。nginx的list算是数组和链表的结合。其用以下两个结构来维护一个list。struct ngx_list_part_s { void *elts; ngx_uint_t nelts; ngx_list_part_t *next; }; ty转载 2013-08-07 15:16:08 · 834 阅读 · 0 评论 -
Nginx源码分析——日志处理
我看Nginx源代码的时候,感觉整个系统都在传递log指针。log在nginx里是比较关键的。日志和内存分配是最基础的两个起点代码,最好是在自己写的程序框架中早点完善并实现。以免未来要用大量的精力调整。 1. 日志的源代码位置 日志的源代码在src/code/ngx_log.c及ngx_log.h里。 2. 日志的初始化 在main()函数一开始,对一些基础数据进行转载 2013-08-07 15:58:44 · 1859 阅读 · 0 评论 -
解码Nginx:双向队列(Queue)
nginx-1.2.5源码文件src/core/ngx_queue.hsrc/core/ngx_queue.c 设计思路Nginx提供一个非常简单的侵入式双向队列(双向链表),也即向每个元素嵌入数据结构的链接结点。这样做的好处在于:1. 省去对数据结构所用内存的管理,进一步减少内存碎片;2. 降低代码复杂度。 另外,通过使用额外的哨兵结点机制,简化了代码。 数据转载 2013-08-12 19:27:15 · 901 阅读 · 0 评论 -
解码Nginx:数组(Array)
源码文件src/core/ngx_array.hsrc/core/ngx_array.c设计思路数组是非常常用的数据结构。为降低使用时的时间开销,Nginx对数组设计做了不少简化:使用从给定内存池中预分配好的储备元素区块;储备元素区块无空闲元素供分配时,尝试从原内存池中分配新的空闲元素,或扩充储备元素区块以完成分配;“分配”,或“压入”,只是取得新的空闲元素的首转载 2013-08-12 20:35:32 · 958 阅读 · 0 评论 -
解码Nginx:列表(List)
源码文件src/core/ngx_list.hsrc/core/ngx_list.c 设计思路Nginx实现的列表接近于数组,但有三点区别: 可以在指定内存块上创建列表数据结构; 储备元素区中无空闲元素时,分配新的储备元素区,挂到单向链表中,而不是替换掉旧的,在扩充容量的同时减少内存处理次数; 不提供ngx_list_destroy(),完全依靠底层内存池管理内存。转载 2013-08-12 20:56:30 · 1046 阅读 · 0 评论 -
nginx配置中几个宏定义的解释
#define NGX_HTTP_MAIN_CONF 0x02000000#define NGX_HTTP_SRV_CONF 0x04000000#define NGX_HTTP_LOC_CONF 0x08000000#define NGX_HTTP_UPS_CONF 0x10000000#define NGX_HTTP_SIF转载 2013-08-13 11:39:36 · 1919 阅读 · 0 评论 -
keepalived+nginx实现双机热备
转自:http://blog.youkuaiyun.com/chengfei112233/article/details/7649938 keepalived是一个类似于layer3, 4, 5 交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障转载 2013-11-13 14:15:15 · 1632 阅读 · 1 评论 -
Nginx Location 语法,与简单配置
一、介绍Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.二、Location语法语法:location [=|~|~*|^~] /uri/ { … }注:1、~ 为区分大小写匹配2、~* 为不区分大小写匹配3、!~和!~*分别为区转载 2014-03-04 08:39:23 · 886 阅读 · 0 评论 -
nginx gzip duplicate MIME type “text/html”
指令[#gzip gzip][#gzip_buffers gzip_buffers][#gzip_comp_level gzip_comp_level ][#gzip_min_length gzip_min_length][#gzip_http_version gzip_http_version][#gzip_proxied gzip_proxied][#gzip_types gzip_t转载 2014-03-17 11:33:13 · 5197 阅读 · 0 评论 -
Nginx 网页压缩传输
在nginx中与网页压缩相关的模块有两个:HttpGzipModule和HttpGzipStaticModule。前者用于启用在文件传输过程中使用gzip压缩,而后者的作用是将一个文件以压缩的方式传递到一个支持压缩功能的客户端之前,首先检查是否已经存在相应的*.gz结尾的文件名格式,这样避免重复压缩而造成资源浪费。对于nginx的网页压缩传输在nginx中的配置是将其分到两种模式:一种是动转载 2014-04-17 14:57:52 · 1131 阅读 · 0 评论 -
ngx_http_referer_module模块
翻译内容可能已经过旧。你可以通过 英文版本查看最近的更新。配置实例指令 referer_hash_bucket_size referer_hash_max_size valid_referersngx_http_referer_module模块允许拦截“Referer”请求头中含有非法值的请求,阻止它们访问站点。需要注转载 2014-04-25 16:19:17 · 2194 阅读 · 0 评论 -
Nginx防盗链的3种方法
一:一般的防盗链如下: location ~* \.(gif|jpg|png|swf|flv)$ { valid_referers none blocked www.jzxue.com jzxue.com ; if ($invalid_referer) { rewrite ^/ http://www.jzxue.com/retrun.html;转载 2014-04-25 11:03:35 · 957 阅读 · 0 评论 -
用DNS+GeoIP+Nginx+Varnish做世界级的CDN
如何用BIND, GeoIP, Nginx, Varnish来创建你自己的高效的CDN网络?CDN,意思是Content Distrubtion Network,意思是内容分发网络,简单的说,就是全地域范围内的负载均衡,全地域的概念可以是全国,也可以是全世界。由统一的DNS服务器进行地址转发,选择离用户最近的地区服务器进行负载均衡。本质上是从一个机房内的负载均衡扩展到了全世界范围内的负载均衡。转载 2014-11-06 11:50:36 · 1421 阅读 · 0 评论 -
Nginx模块开发入门 (内容更详细)
写的非常好,转自:http://blog.codinglabs.org/articles/intro-of-nginx-module-development.htmlNginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%。与Apache相比,Nginx在高并发情况下具有巨大的性能优势。转载 2013-08-07 17:30:22 · 914 阅读 · 0 评论 -
nginx源码学习资源
nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。看了nginx源码,发现这是一份完全没有注释,完全没有配置文档的代码。 现在你最希望要的是一份注释版的nginx源码,可以从下面的链接中下载一份:https://github.com/jianfengye/nginx转载 2013-08-07 17:04:33 · 830 阅读 · 0 评论 -
Nginx负载均衡算法分析
随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲(如F5 BIG-IP、Citrix NetScaler、Radware等等,虽然可以解决问题转载 2013-02-16 15:18:48 · 725 阅读 · 0 评论 -
Nginx状态图形化监控工具,Nginx-rrd+rrdtool 配置
Nginx状态图形化监控工具,Nginx-rrd+rrdtool 配置Nginx-rrd 是 Nginx 官方推荐的一款 Nginx 监控工具,利用 Nginx-rrd 可以很方便的生成图表,便于我们查看。配置过程比较简单,首先安装 rrdtool 这个画图工具和相应的 perl 模块:Debian 或Ubuntu安装方法:apt-get install p转载 2013-03-29 14:06:07 · 5446 阅读 · 0 评论 -
简易nginx监控系统
查看文章 简易nginx监控系统作者: 李春林来源: http://hi.baidu.com/leechlnginx有一个模块可以监控到它的状态, nginx的设置看这里:http://wiki.nginx.org/NginxHttpStubStatusModule,然后安装rrdtools, 安装成功了, 基本上就大功告成转载 2013-03-29 14:12:56 · 1116 阅读 · 0 评论 -
Nginx日志监控(包括可视化)工具
Nginx日志监控(包括可视化)工具 1. log.io一个开源的实时日志监控系统。利用Node.js+Socket.io,提供web界面。性能不错,但官方好像只在ubuntu上做了测试。https://github.com/NarrativeScience/Log.io2.Nginx-rrd这个是nginx官方推荐的一个监控工具,可用源安装,支持ubunt/debia转载 2013-03-29 16:31:12 · 3565 阅读 · 2 评论 -
nginx启动,重启,关闭命令
nginx启动,重启,关闭命令停止操作停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的步骤1:查询nginx主进程号ps -ef | grep nginx在进程列表里 面找master进程,它的编号就是主进程号了。步骤2:发送信号从容停止Nginx:kill -QUIT 主进程号快速停止Nginx:kill -T转载 2013-04-24 18:49:24 · 702 阅读 · 0 评论 -
nginx的stub_status状态信息解释
[WEB] nginx的stub_status状态信息解释 一、加载http_stub_status模块 [root@10.10.90.97 ~]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module[root@10.10.90.97 ~]# make && ma转载 2013-04-24 18:59:40 · 1156 阅读 · 0 评论 -
nginx压力测试
在运维工作中,压力测试是一项非常重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。 但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟。所以,压力测试非常有必要,有了这些数据,我们就能对转载 2013-05-23 09:17:26 · 876 阅读 · 0 评论 -
nginx分析日志
#!/usr/bin/env python# -*- coding: utf-8 -*-import timeimport reimport sysimport ip_location#定义一个时间类,可以选取要分析的时间段,如果没有指定时间段,则分析全部logclass TimeParser(object): def __init__(self, re_ti转载 2013-05-13 20:44:14 · 817 阅读 · 0 评论 -
nginx常见内部参数,错误总结
1、日志简介nginx日志主要有两种:访问日志和错误日志。访问日志主要记录客户端访问nginx的每一个请求,格式可以自定义;错误日志主要记录客户端访问nginx出错时的日志,格式不支持自定义。两种日志都可以选择性关闭。通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你转载 2013-07-03 14:56:38 · 2150 阅读 · 0 评论 -
nginx 中文手册——part one
摘自:http://www.nginx.cn/nginx-how-to1.为什么选择nginxNginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性:作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接转载 2013-07-30 14:17:58 · 898 阅读 · 0 评论 -
nginx源码分析之开篇
阅读从main开始,流程非常清晰/* 系统错误初始化,将构建ngx_sys_errlist */ ngx_strerror_init();/* 选项处理 */ ngx_get_options(argc, argv); /* 时间初始化, 当前时间:ngx_current_msec */ ngx_time_init(); /* 日志初始化 */ log =转载 2013-08-07 11:08:14 · 832 阅读 · 0 评论 -
Nginx 源码分析-- 浅谈对模块module 的基本认知
分析nginx源码,谈到模块module是必然的。纵观nginx源码,可以说模块module机制是整个nginx的骨架。因此,对nginx的源码进行分析,那么对模块module就需要有一个基本的认知。在浅谈开始,我们要明确nginx模块构架是从编译阶段开始的,不像apache那样可以动态的添加模块,nginx使用的是静态模块。这应该也是nginx为何效率高的原因之一。对nginx的模块认知转载 2013-08-07 18:56:04 · 1129 阅读 · 0 评论 -
nginx模块开发入门
目录1 前言2 开发nginx模块之Hello World篇(手把手走一遍)2.1 进行echo模块的功能设计2.2 准备nginx的源代码2.3 准备好nginx的配置文件,越简单越好,并且要打开调试,关闭daemon模式;2.4 创建nginx模块目录2.5 编辑nginx模块的编译相关文件(config)3 Nginx模块开发之入门介绍3.转载 2013-08-07 16:10:27 · 1005 阅读 · 0 评论 -
Nginx负载均衡算法分析
随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲(如F5 BIG-IP、Citrix NetScaler、Radware等等,虽然可以解决问题转载 2014-11-06 15:16:41 · 902 阅读 · 0 评论