未来往事
最怕的东西你就应该去突破。 [2017年 第42周/共52周]

Nginx限制并发连接数和白名单配置-提升整体并发

背景/需求:

恶意攻击、恶意采集、恶意刷页面
秒杀、抢购并发连接限制、队列缓冲
web下载带宽限制、web请求速率限制
CC攻击

Nginx连接数限制模块:

说明:Nginx有很多模块、模块下面又分很多指令,下面就说说limitconn_zone和limit_conn两指令

limit_conn_zone模块指令配置

Nginx http模块中添加
http{
……………………
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;

server{
……………………
}
}
PS:配置区域名称为perip、perserver,















......
+阅读全文

Nginx配置文件参数详细说明

Nginx配置文件参考配置指南,Nginx配置文件参数说明
    #运行用户
    user www-data;  
    #启动进程,通常设置成和cpu的数量相等
    worker_processes  1;

    #全局错误日志及PID文件
    error_log  /var/log/nginx/error.log;
    pid        /var/run/nginx.pid;

    #工作模式及连接数上限
    events {
 
......
+阅读全文

php-fpm配置文件重要参数详解 配置参考指南

php-fpm.conf配置文件重要参数说明注释,希望对您有所帮助。
[global]
pid = /usr/local/php/var/run/php-fpm.pid
#pid设定,默认在安装目录中的var/run/php-fpm.pid,建议开启

error_log = /usr/local/php/var/log/php-fpm.log
#错误日志,默认在安装目录中的var/log/php-fpm.log

log_level = notice
#错误级别. 可用级别为: alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice.
  
emergency_restart_threshold = 60
emergency_restart_interval = 60s
......
+阅读全文

Nginx upstream模块

Nginx upstream模块使用及介绍:

......
+阅读全文

Nginx反向代理安装配置 upstream模块使用

安装配置Nginx反向代理,Nginx在upstream服务器的反向代理配置,upstream模块介绍,本文基于Debian6 & Debian7  Nginx 1.8编写。

Nginx 、反向代理服务介绍

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器......
+阅读全文

Debian Install Nginx Error: Depends libssl0.9.8 (>= 0.9.8m-1) but it is not installable

今天在Debian系统上使用apt-get install nginx-full方式安装nginx时遇到错误:Depends libssl0.9.8 (>= 0.9.8m-1) but it is not installable,错误代码如下:
root@(none):/opt# apt-get install nginx-full
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information m
......
+阅读全文

Nginx Google反向代理扩展ngx_http_google_filter_module

Nginx Google反向代理扩展模块ngx_http_google_filter_module

ngx_http_google_filter_module扩展模块介绍

ngx_http_google_filter_module是一个过滤器模块,能够让谷歌镜像更便捷的部署。内建了正则表达式、URI locations和其他复杂的配置。原生nginx模块确保了更加高效地处理cookies, gstatic scoures和重定向。

轻松部署

1、依赖库
pcre 正则
ngx_http_proxy_module 反向代理
ngx_http_substitutions_filter_module 多重替换

下载substitutions扩展:
https://github.com/yaoweibin/ngx_http_substitutions_filter_module

2、依赖库安装过程(略)

3、Nginx重新编译安装
#cd /opt/lnmp1.2-full/src/nginx-1.8.0/

#./configure --user=www --group=www --prefix=/usr/local/nginx \
--with-http_stub_status_module --with-http_ssl_module --with-http_spdy_module \
--with-http_gzip_static_module --with-ipv6 --with-http_sub_module \
--add-module=/opt/ngx_http_google_filter_module \
--add-module=/opt/ngx_http_substitutions_filter_module-master

#make && make install

#cp -rf objs/nginx /usr/sbin/nginx  (覆盖二进制文件)

#service nginx restart
PS:#nginx -V查看版本号及上一次编辑安装的参数

4、基本配置
http配置方式
+阅读全文

Nginx拒绝默认主机IP访问

......
+阅读全文

CI框架去index.php Nginx rewrite规则

CodeIgniter去除index.php Nginx规则范例:
server
  {
    listen       80;
    server_name  ci.fity.cn;
    index index.html index.htm index.php;
    root  /htdoc/web/citest;
  
    location / {
        try_files $uri $uri $uri/ /index.php?s=$uri&$args;
        index &nb
......
+阅读全文

Nginx启用Gzip压缩模块

Nginx的gzip模块是内置的,在http中添加如下配置
gzip on;
gzip_min_length  5k;
gzip_buffers     4 16k;
gzip_http_version 1.0;
gzip_comp_level 3;
gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;

注  释:
gzip on|off
# 默认值: gzip off
# 开启或者关闭gzip模块

gzip_static on|off
# nginx对于静态文件的处理模块
# 该模块可以读取预先压缩的gz文件,这样可以减少每次请求进行gzip压缩的CPU资源消耗。该模块启用后,nginx首先检查是否存在请求静态文件的gz结尾的文件,如果有则直接返回该gz文件内容。为了要兼容不支持gzip的浏览器,启用gzip_static模块就必须同时保留原始静态文件和gz文件。这样的话,在有大量静态文件的情况下,将会大大增加磁盘空间。我们可以利用nginx的反向代理功能实现只保留gz文件。
# 可以google"nginx gzip_static"了解更多

gzip_comp_level 4
# 默认值:1(建议选择为4)
# gzip压缩比/压缩级别,压缩级别 1-9,级别越高压缩率越大,当然压缩时间也就越长(传输快但比较消耗cpu)。

gzip_buffers 4 16k
# 默认值: gzip_buffers 4 4k/8k
# 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。 例如 4 4k 代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。 4 8k 代表以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。
# 如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。

gzip_types mime-type [mime-type ...]
# 默认值: gzip_types text/html (默认不对js/css文件进行压缩)
# 压缩类型,匹配MIME类型进行压缩
# 不能用通配符 text/*
# (无论是否指定)text/html默认已经压缩
# 设置哪压缩种文本文件可参考 conf/mime.types
+阅读全文

Nginx配置支持TP PATHINFO URL_MODEL=1模式

配置Nginx支持ThinkPHP PATHINFO URL_MODEL=1模式

Nginx默认是不支持PATHINFO的,也就是说不支持ThinkPHP设置URL_MODEL=1的情况,这时候简单的方法,让Nginx迅速搭建TP的方法是,设置URL_MODEL=3,即兼容模式。但是要让Nginx支持ThinkPHP PATHINFO需要做如下配置:

1、设置ThinkPHP URL模式 URL_MODEL=1;
2、修改Nginx配置文件
location / {
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=$1  last;
   break;
  }
}

......
+阅读全文

Nginx 泛解析

Nginx二级域名泛解析到子目录
Nginx多目录多虚拟主机情况泛解析


绑一堆域名实在太麻烦,假设需求场景如下:
二级/三级域名      对应web程序目录
*.household114.com       /phpweb/household114/
abc1.household114.com   /phpweb/household114/abc1.household114.com
abc2.household114.com   /phpweb/household114/abc2.household114.com
abc3.household114.com   /phpweb/household114/abc3.household114.com
……

Nginx配置如下:
server
        {
     &nbs
......
+阅读全文

Apache Rewrite规则转Nginx Rewrite规则

不知道怎么把Apache Rewrite 规则转换成Nginx Rewrite配置的童鞋可以通过一个自动化的linux命令行工具apache2nginx进行Rewrite规则转换。

使用apache2nginx能将apache的配置文件转换成相应的nginx的配置文件。源代码在github上:
https://github.com/nhnc-nginx/apache2nginx

使用方法:
apache2nginx -f /etc/httpd/conf/httpd.conf  将生成 nginx.conf


另外还可以在线转换:
Apache转换到Nginx Rewrite:
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

Apache、Lighttpd、IIS转换到Nginx Rewrite:
http://www.onexin.net/rewr......
+阅读全文

Nginx Http 500错误解决

今天朋友租用的VPS Web服务出现了问题,访问网站报Nginx Http 500错误,但是php info测试页面正常,相关详细描述信息如下:
操作系统:Debian
Web服务:Nginx+PHP(Fast-cgi)+MySQL

后来查看了相关日志也检查了相关的配置没发现什么问题,就在该站点下放入了一个php info测试页面,发现访问正常。但是一访问网站程序就报Http 500错误,这里开始是不是程序本身的问题了,于是把php的错误提示功能打开后发现页面不再是500错误了,然后再按提示的错误信息解决了问题。

......
+阅读全文

软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比

现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术:
一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服
......
+阅读全文