nginx使用Limit Requests模块限制单个IP请求速率的方法
[ 2016-08-03 22:02:28 | 作者: admin ]
p.s. nginx里面有2个模块可以限制客户端的访问频率:limit_req和limit_conn ,具体的区别可以再查,这里只讲述 limit_req ,一般也够用了。
p.s. 如果修改配置不生效,需要杀进程重新开 nginx 。参考: http://blog.xg98.com/article.asp?id=2656
本文介绍下,nginx环境中使用Limit Requests模块,限制单个IP请求速率的方法,有需要的朋友,参考下吧。
Limit Requests模块可以限制单个客户端发送请求的速率。
示例配置如下:
阅读全文…
p.s. 如果修改配置不生效,需要杀进程重新开 nginx 。参考: http://blog.xg98.com/article.asp?id=2656
本文介绍下,nginx环境中使用Limit Requests模块,限制单个IP请求速率的方法,有需要的朋友,参考下吧。
Limit Requests模块可以限制单个客户端发送请求的速率。
示例配置如下:
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location ~ .*\.(php|php5)?$
...limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location ~ .*\.(php|php5)?$
阅读全文…
nginx geo使用方法
[ 2016-08-03 14:37:18 | 作者: admin ]
geo指令使用ngx_http_geo_module模块提供的。默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module。 ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址。 geo指令 语法: geo [$address] $variable { ... } 默认值: — 配置段: http 定义从指定的变量获取客户端的IP地址。默认情况下,nginx从$remote_addr变量取得客户端IP地址,但也可以从其他变量获得。如
geo $remote_addr $geo {
default 0;
127.0.0.1 1;
}
default 0;
127.0.0.1 1;
}
geo $http_client_ip $geo {
default 0;
127.0.0.1 1;
}
default 0;
127.0.0.1 1;
}
Discuz X3 nginx下伪静态404错误
[ 2016-01-02 21:52:19 | 作者: admin ]
在給熱盒子僞靜態過程中,在後臺設置了僞靜態,但是前臺頁面是僞靜態了但是卻出現了404錯誤。折騰了一下午,搜索了各種解決辦法,但是還是不行,最後在一個主機論壇裏找到了思路,結合自網站的情況解決了問題。
解決方法歸納如下
在服務器端啓動僞靜態
添加虛擬主機,執行如下命令:/root/vhost.sh 根據提示輸入要綁定的域名,回車,如果需要添加更多的域名,輸入y,再輸入要另外綁定的域名,多個域名可以用空格隔開。再輸入域名綁定的目錄(絕對目錄,如/home/wwwroot/lnmp,如果不填默認是/home/wwwroot/綁定的域名),再選擇是否添加僞靜態規則,默認已經有了Discuz、Wordpress、Sablog、emlog、dabr,可直接輸入以上名稱即可,如果需要添加自定義僞靜態規則,直接輸入一個想要的名字,程序會自動創建僞靜態文件,直接在/usr/local/nginx/conf/你自定義的僞靜態名字.conf ...
阅读全文…
解決方法歸納如下
在服務器端啓動僞靜態
添加虛擬主機,執行如下命令:/root/vhost.sh 根據提示輸入要綁定的域名,回車,如果需要添加更多的域名,輸入y,再輸入要另外綁定的域名,多個域名可以用空格隔開。再輸入域名綁定的目錄(絕對目錄,如/home/wwwroot/lnmp,如果不填默認是/home/wwwroot/綁定的域名),再選擇是否添加僞靜態規則,默認已經有了Discuz、Wordpress、Sablog、emlog、dabr,可直接輸入以上名稱即可,如果需要添加自定義僞靜態規則,直接輸入一個想要的名字,程序會自動創建僞靜態文件,直接在/usr/local/nginx/conf/你自定義的僞靜態名字.conf ...
阅读全文…
Nginx泛域名解析及Rewrite重定向普通页面及带参数的页面
[ 2014-09-13 15:36:16 | 作者: admin ]
本准备换Linux服务器,所以数据迁移暂时需要使用静态页面临时代替一下,之前的article.asp?id=xxx都要重定向到静态文件article/xxx.htm,下面看看Nginx是如何进行Rewrite的!
静态地址重定向到带参数的动态地址
rewrite "^(.*)/service/(.*)/.html$" $1/service.php?sid=$2 permanent;
带参数的动态地址重定向到静态地址
if ($query_string ~* id=(.*)) {
set $id $1;
rewrite "^(.*)/article.asp$" $1/article/$id.htm last;
}
泛域名解析
server_name www.w3cgroup.com *.w3cgroup.com;
server_name_in_redirect off;
#设置默认root
...
阅读全文…
静态地址重定向到带参数的动态地址
rewrite "^(.*)/service/(.*)/.html$" $1/service.php?sid=$2 permanent;
带参数的动态地址重定向到静态地址
if ($query_string ~* id=(.*)) {
set $id $1;
rewrite "^(.*)/article.asp$" $1/article/$id.htm last;
}
泛域名解析
server_name www.w3cgroup.com *.w3cgroup.com;
server_name_in_redirect off;
#设置默认root
...
阅读全文…
Nginx - rewrite 不区分大小写进行匹配
[ 2014-09-13 11:06:23 | 作者: admin ]
Use (?i) to match case-insensitively
eg: rewrite (?i)/(Cheap-[^\/]+\.html)(.*)$ /filter.php?route=$1 last;
参考范例
参考:
http://blog.csdn.net/w6611415/article/details/27367629
http://stackoverflow.com/questions/21577841/nginx-case-insensitive-url-redirection
eg: rewrite (?i)/(Cheap-[^\/]+\.html)(.*)$ /filter.php?route=$1 last;
参考范例
rewrite ^/html/newsList-(.*)\.html$ /html/newsList.php?cid=$1 last;
修改为rewrite (?i)^/html/newsList-(.*)\.html$ /html/newsList.php?cid=$1 last;
参考:
http://blog.csdn.net/w6611415/article/details/27367629
http://stackoverflow.com/questions/21577841/nginx-case-insensitive-url-redirection
php安装curl支持
[ 2014-08-30 15:48:17 | 作者: admin ]
1、已经安装了php情况,安装curl
进入安装原php-5.3.9的源码目录,(如果删了,但是还有原来的压缩文件的话,重新解压就行)
操作完成在目录/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/下生成curl.so文件
接下来修改php.ini配置文件
在php.ini中找到extension_dir字段,并把其值修改为/usr/loca...
阅读全文…
进入安装原php-5.3.9的源码目录,(如果删了,但是还有原来的压缩文件的话,重新解压就行)
cd php-5.3.9/ext/curl
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make test
make install
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make test
make install
操作完成在目录/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/下生成curl.so文件
接下来修改php.ini配置文件
在php.ini中找到extension_dir字段,并把其值修改为/usr/loca...
阅读全文…
启用 php-fpm 的 slow log 日志
[ 2014-05-26 09:48:50 | 作者: admin ]
前段时间折腾了一下 分析Centos系统下LNMP频繁502 Bad Gateway问题,但仍有漏网之鱼导致网站偶尔的 502 Bad Gateway,今天再折腾一下,启用 php-fpm 的 slow log 日志,查看执行时间过长的php文件,并将执行时间过长的进程直接终止掉!看看效果如何!
具体操作方法也简单,就修改一个文件,执行命令:# vi /usr/local/php/etc/php-fpm.conf
PHP 5.3.3 之前版本设置如下:
阅读全文…
具体操作方法也简单,就修改一个文件,执行命令:# vi /usr/local/php/etc/php-fpm.conf
PHP 5.3.3 之前版本设置如下:
The timeout (in seconds) for serving a single request after which the worker process will be terminated
Should be used when 'max_execution_time'
...Should be used when 'max_execution_time'
阅读全文…
Apache和Nginx开启访问日志但不记录图片css等的方法
[ 2014-05-24 14:26:42 | 作者: admin ]
nginx
阅读全文…
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$
{
expires 1d;
access_log off;
...'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$
{
expires 1d;
access_log off;
阅读全文…







