201809-13 从Nginx、Apache工作原理看为什么Nginx比Apache高效 Nginx才短短几年,就拿下了web服务器大笔江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于httpd,甚至能轻松解决C10K问题。在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx0.7.14+PHP5.2.6(FastCGI)可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。一般来说,4GB内存的服务器+Apache(prefork模式... 继续阅读 >
201804-19 携程图片服务架构 作者简介胡健,携程框架高级研发经理,目前负责多媒体服务的构建和研发工作。近些年携程业务突飞猛进,用户遍及世界各地。公司对用户体验也越来越重视,每一个小的功能改动、页面改版的背后,都有大量的A/B实验提供保障。与此同时,与用户体验息息相关的媒体文件的应用质量也被放到重要位置,如图片加载延时、成功率、清晰度等数据。本文将分享携程图片服务架构,包括服务架构的演变过程,以及在生产上实际遇到的... 继续阅读 >
201710-13 Nginx不安全配置可能导致的安全漏洞 前言:Nginx (enginex)是一个高性能的http和反向服务器,也可以作为IMAP/POP3/SMTP服务器。tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。在渗透测试过程中发现很多网站使用了nginx或者tenginx来做反向代理,ningx的配置文件nginx.conf的一些错误配置可能引发一些安全漏洞。下面是总结的一些可能引发安全问题的错误配置,并且推荐了github... 继续阅读 >
201709-22 Nginx 通过 Lua + Redis 实现动态封禁 IP 一、背景为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的IP黑名单。对于黑名单之内的IP,拒绝提供服务。二、架构实现IP黑名单的功能有很多途径:1、在操作系统层面,配置iptables,拒绝指定IP的网络请求;2、在WebServer层面,通过Nginx自身的deny选项或者lua插件配置IP黑名单;3、在应用层面,在请求服务之前检查一遍客户端IP是否在黑名单。为了方... 继续阅读 >
201708-12 nginx 中的线程池使得性能提升 9 倍 众所周知,Nginx使用异步,事件驱动来接收连接。这就意味着对于每个请求不会新建一个专用的进程或者线程(就像传统服务端架构一样),它是在一个工作进程中接收多个连接和请求。为了达成这个目标,Nginx用在一个非阻塞模式下的sockets来实现,并使用例如epoll和kqueue这样高效的方法。因为满载的工作进程数量是很少的(通常只有一个CPU内核)而且固定的,更少的内存占用,CPU轮训也不会浪费在任务切换上。这种连... 继续阅读 >
201706-08 三个案例看Nginx配置安全 之前在Sec-News中推荐了一个开源程序https://github.com/yandex/gixy,作用是来检测Nginx配置文件中存在的问题。正好Pwnhub上周的比赛也出现了一道题,包含由Nginx配置错误导致的漏洞。所以我挑选我觉得比较有趣,而且很有可能犯错误的三个典型案例,来说说Nginx配置文件的安全。另外,本文所涉及的三个案例,均已上线到Vulhub(https://github.com/phith0n/vulhub/tree/master/nginx/insecure-configuration),阅... 继续阅读 >
201612-30 nginx 命令解析 阅读了一段时间的nginx,中间也有很多坑,把自己阅读得到的东西写出来也算是一个笔记吧。命令解析-nginx的命令解析是通过ngx_conf_s来扫描文件然后通过匹配命令来配合ngx_command_s来实现的。我们先来看一下ngx_commands;ngx_command_sstructngx_command_s{ngx_str_tname;//command名字ngx_uint_ttype;//command类型接受参数的个数char*(*set)(ngx_... 继续阅读 >
201511-10 你应该了解Nginx的7个原因 Nginx(“enginex”)是一个高性能的HTTP和反向代理服务器,也是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器1负载均衡实现可扩展的浏量管理通过Nginx实现负载均衡将给你所需要的控制权,用来管理并扩展您的Web和移动应用。它提供了一个完整的基于软件应用的分发平台的解决方案,只消耗一小部分的硬件来平衡HTTP和TCP应用的负载。最大限度地提高您的网站和应用程序的可用... 继续阅读 >
201504-22 Nginx、LVS、HAProxy负载均衡软件的优缺点 Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时... 继续阅读 >
201501-27 Linux下查看Nginx、Apache、MySQL、PHP的编译参数命令 Nginx/usr/local/nginx/sbin/nginx-VApachecat/opt/httpd/build/config.niceMySQLcat/usr/local/mysql/bin/mysqlbug|grepconfigPHP/usr/local/php/bin/php-i|grepconfig 继续阅读 >
201501-06 CentOS 5.11编译安装Nginx1.6.2+MySQL5.6.22+PHP5.6.3 CentOS5.x系统安装配置图解教程一、配置防火墙,开启80端口、3306端口vi/etc/sysconfig/iptables #编辑防火墙配置文件#Firewallconfigurationwrittenbysystem-config-securitylevel#Manualcustomizationofthisfileisnotrecommended.*filter:INPUTACCEPT[0:0]:FORWARDACCEPT[0:0]:OUTPUTACCEPT[0:0]:RH-Firewall-1-INPUT-[0:0]-AINPUT-jRH-Firewall-1-INPUT-AFORWARD-jRH-Firewal... 继续阅读 >
201412-22 nginx最新版本下载地址大全 2014-7-26更新linux1.73开发版http://nginx.org/download/nginx-1.7.3.tar.gzlinux1.60稳定版http://nginx.org/download/nginx-1.6.0.tar.gz1.60稳定版,更新内容包括ssl功能增强、支持spdy3.1,带请求条件的缓存更新、授权请求模块2013-11-25更新linux版最新nginx下载http://nginx.org/download/nginx-1.5.7.tar.gzhttp://nginx.org/download/nginx-1.4.4.tar.gzwindows版最新nginx下载http://nginx.org/download/ng... 继续阅读 >
201412-03 在Nginx下对网站进行密码保护 很多时候我们需要对一些网站进行密码保护,比如团队内部的站点、demo站点等等。这里所说的密码保护是服务器级的,并非网站应用层的注册登录那一套,而是利用服务器配置和htpasswd文件来实现访问的密码验证。最后的效果就类似(不同浏览器的界面有所不同):如果认证失败,就会报HTTP错误:401AuthorizationRequired。要实现这样的功能,就需要更改服务器的配置,并设定好用于登录的用户名和密码。首先... 继续阅读 >
201412-03 对 Nginx SSL 的性能进行调整 这篇文章是讲web服务器方面的性能调整。不包括数据库性能的调整。初始化服务器这个web服务器运行在一个EC2t1。micro环境。我选择Nginx+PHP5-FPM来运行php页面,出于安全考虑我使用SSL。测试性能我使用Blitz。io来进行压力和性能测试。下面的是我压力测试的命令。功能是在60秒内逐渐增加用户。在整个过程中,Blitz。io每秒创建一个请求并增加4个用户(rise/run=260/60)。-p1-250:60https://mydo... 继续阅读 >
201412-03 Nginx 战斗准备 —— 优化指南 大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一个简单的预览&md... 继续阅读 >
201412-03 10 个Nginx 的安全提示 Nginx是当今最流行的Web服务器之一。它为世界上7%的web流量提供服务而且正在以惊人的速度增长。它是个让人惊奇的服务器,我愿意部署它。下面是一个常见安全陷阱和解决方案的列表,它可以辅助来确保你的Nginx部署是安全的。1.在配置文件中小心使用"if"。它是重写模块的一部分,不应该在任何地方使用。“if”声明是重写模块评估指令强制性的部分。换个说法,Nginx的配置一般来说是声明式的。在有些情况... 继续阅读 >