随笔分类 - NGINX
摘要:一、最常用的方法(代码中限制) 1、如何限制IP 2、进行密码验证 二、NGINX中限制 1、IP限制 官方文档:http://nginx.org/en/docs/http/ngx_http_access_module.html 2、auth_basic 本机认证(nginx默认支持) 官方文档:h
阅读全文
摘要:基于PHP的应用面临着各种各样的攻击: XSS:对PHP的Web应用而言,跨站脚本是一个易受攻击的点。攻击者可以利用它盗取用户信息。你可以配置Apache,或是写更安全的PHP代码(验证所有用户输入)来防范XSS攻击 SQL注入:这是PHP应用中,数据库层的易受攻击点。防范方式同上。常用的方法是,使
阅读全文
摘要:一、问题的提出 秒杀或抢购活动一般会经过 预约,下单,支付 ,扛不住的地方在于下单,一般会带来2个问题: 1、高并发 比较火热的秒杀在线人数都是10w起的,如此之高的在线人数对于网站架构从前到后都是一种考验。 2、超卖 任何商品都会有数量上限,如何避免成功下订单买到商品的人数不超过商品数量的上限,这
阅读全文
摘要:一、参数优化 文件句柄 Linux中,每个进程默认打开的最大文件句柄数是1000,对于服务器进程来说,显然太小,通过修改/etc/security/limits.conf来增大打开最大句柄数 虚拟内存设置 max_map_count定义了进程能拥有的最多内存区域 sysctl -w vm.max_m
阅读全文
摘要:一、Git 协议 Git 可以使用四种主要的协议来传输数据:本地传输,ssh 协议,Git 协议和 HTTP 协议。 Git 使用的传输协议中最常见的就是 ssh 了。大多数环境已经支持通过 ssh 对服务器的访问 ,ssh 也是唯一一个同时支持读写操作的网络协议。另外两个网络协议(HTTP 和 G
阅读全文
摘要:1、问题描述 2、问题分析 google 499 / ClientClosed Request An Nginx HTTP server extension. This codeis introduced to log the case when the connection is closed b
阅读全文
摘要:熟悉 CDN 行业主流技术的朋友应该都比较清楚,虽然 Nginx 近几年发展的如日中天,但是基本上没有直接使用它自带的 proxy_cache 模块来做缓存的,原因有很多,例如下面几个: 不支持多盘 不支持裸设备 大文件不会切片 大文件的 Range 请求表现不尽如人意 Nginx 自身不支持合并回
阅读全文
摘要:1、一些常识 linux下,要读取一个文件,首先需要具有对文件所在文件夹的执行权限,然后需要对文件的读取权限。 php文件的执行不需要文件的执行权限,只需要nginx和php-fpm运行账户的读取权限。 上传木马后,能不能列出一个文件夹的内容,跟php-fpm的运行账户对文件夹的读取权限有关,木马执
阅读全文
摘要:nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。 1. 在error.log中查看是否有signal项,如果有,看看signal是多少。 比如,这是一个异常退出的情况: $grep signal error.log 2012/12/24 16:39:56 [aler
阅读全文
摘要:在开发过程中,我们经常会碰到段错误等异常,这时我们需要有相应的机制来进行调试,特别是服务提供在线上时,面对大量的日志信息,合理的调试处理机制对于开发来说是一件非常重要的事情,幸好Nginx本身提供了很好的调试机制,主要包括以下几个方面。 1、Core文件 默认情况下,编译Nginx是带上-g选项 这
阅读全文
摘要:一、关闭SELinux安全增强型Linux(SELinux)的是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制。但是,SELinux带来的附加安全性和使用复杂性上不成比例,性价比不高sed -i /SELINUX=enforcing/SELINUX=disabled/ /etc/se...
阅读全文
摘要:nginx中可以将lua嵌,让nginx执行lua脚本,可以处理高并发,非阻塞的处理各种请求,openresty项目中可以使用nignx可以直接构建 srcache_nginx+redis缓存,而不用通过动态语言来处理(QPS可以轻松的提高了)看一下openresty中srcache-nginx-m...
阅读全文
摘要:简介使用upstream模块实现nginx负载均衡使用nginx_upstream_check_module模块实现后端服务器的健康检查使用nginx-sticky-module扩展模块实现Cookie会话黏贴(session-sticky效果)使用proxy模块实现静态文件缓存使用ngx_cach...
阅读全文
摘要:有这么一段配置文件gzip on# 默认值: gzip off # 开启或者关闭gzip模块 gzip_static off;# nginx对于静态文件的处理模块# 该模块可以读取预先压缩的gz文件,这样可以减少每次请求进行gzip压缩的CPU资源消耗。该模块启用后,nginx首先检查是否存在请求静...
阅读全文
摘要:1、编译安装过程优化在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆字节。在编译前取消Nginx的debug模式,编译完成后Nginx只有几百千字节,因此可以在编译之前,修改相关源码,取消debug模式,具...
阅读全文
摘要:一、简介Nginx版本从0.7.48开始,支持了类似Squid的缓存功能。这个缓存是把URL及相关组合当做Key,用Md5算法对Key进行哈希,得到硬盘上对应的哈希目录路径,从而将缓存内容保存在该目录内。NginxWeb缓存服务只能为指定URL或状态码设置过期时间,不支持类似Squid的PURGE指...
阅读全文
摘要:很多人都可以碰到一个陷阱。下面我们列出,我们经常看到的问题,以及解释如何解决这些问题。在Freenode上的#nginx IRC频道这些讨论很频繁。1、权限从来不要使用777权限,查看目录的权限namei -om /path/to/check2、root设置BAD:server { serve...
阅读全文
摘要:nginx 使用ngx_http_limit_req_module和ngx_http_limit_conn_module 来限制对资源的请求这种方法,对于CC攻击(Challenge Collapsar)or DDOS(分布式拒绝服务)有一定的用处1、HttpLimitReqModule限制requ...
阅读全文
摘要:我们可以使用PATH_INFO来代替Rewrite来实现伪静态页面, 另外不少PHP框架也使用PATH_INFO来作为路由载体在Apache中, 当不加配置的时候, 对于PHP脚本, Accept pathinfo是默认接受的PATH_INFO是服务器状态中的一个参数,通过$_SERVER['PAT...
阅读全文
摘要:server { listen 80; server_name sub.domain.com; set $root_path '/var/www/html/application_name/public'; root $root_path; ...
阅读全文