Nginx 限速和限制请求配置,使用limit模块仿cc
[ 2013-09-10 09:55:56 | 作者: admin ]
p.s.压力测试是很好的检验方法,用webbech或者ab等一些工具模拟并发服务器,若服务器没有限制连接数或带宽,服务器很容易被压跨。
http {
…
limit_conn_zone $binary_remote_addr zone=one:10m;
limit_req_zone $binary_remote_addr zone=perip:5m rate=20r/s;
#如果在1.1.8之后版本还用语法:limit_zone name $variable size,会报警告nginx: [warn] the “limit_zone” directive is deprecated, use the “limit_conn_zone” directive
#这里,设置客户端的IP地址作为键。注意,这里使用的是$binary_remote_a...
阅读全文…
http {
…
limit_conn_zone $binary_remote_addr zone=one:10m;
limit_req_zone $binary_remote_addr zone=perip:5m rate=20r/s;
#如果在1.1.8之后版本还用语法:limit_zone name $variable size,会报警告nginx: [warn] the “limit_zone” directive is deprecated, use the “limit_conn_zone” directive
#这里,设置客户端的IP地址作为键。注意,这里使用的是$binary_remote_a...
阅读全文…
proftpd基本配置+虚拟用户
[ 2013-09-09 17:17:25 | 作者: admin ]
感觉比vsftpd要方便一点,配置起来比较灵活。
先简单的配置一下。
安装什么的比较简单,如下。
安装好以后,从源码包里复制启动脚本。
# cp proftpd-1.3.4a/contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd
# chmod 755 /etc/init.d/proftpd
然后,需要在proftpd里面修改一下参数。由于我安装的时候不是默认的目录,所以很多涉及到程序路径的地方要改成安装的位置。具体如下。
# chkconfig: 345 85 15
...
阅读全文…
先简单的配置一下。
安装什么的比较简单,如下。
# tar -zxvf proftpd-1.3.4a
# cd proftpd-1.3.4a
# ./configure –prefix=/usr/local/proftpd
# make
# make install
# cd proftpd-1.3.4a
# ./configure –prefix=/usr/local/proftpd
# make
# make install
安装好以后,从源码包里复制启动脚本。
# cp proftpd-1.3.4a/contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd
# chmod 755 /etc/init.d/proftpd
然后,需要在proftpd里面修改一下参数。由于我安装的时候不是默认的目录,所以很多涉及到程序路径的地方要改成安装的位置。具体如下。
# chkconfig: 345 85 15
...
阅读全文…
expect spawn、linux expect 用法小记
[ 2013-09-09 17:13:35 | 作者: admin ]
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄、收藏。可是为什么要这么写却不知其然。本文用一个最短的例子说明脚本的原理。
脚本代码如下:
1. [#!/usr/bin/expect]
这一行告诉操作系统...
阅读全文…
脚本代码如下:
##############################################
#!/usr/bin/expect
set timeout 30
spawn ssh -l username 192.168.1.1
expect "password:"
send "ispass\r"
interact
##############################################
#!/usr/bin/expect
set timeout 30
spawn ssh -l username 192.168.1.1
expect "password:"
send "ispass\r"
interact
##############################################
1. [#!/usr/bin/expect]
这一行告诉操作系统...
阅读全文…
Linux简单处理CC攻击shell脚本
[ 2013-09-09 17:07:10 | 作者: admin ]
第一个脚本是通过查找日志中访问次数过多的ip,并用iptables屏蔽,600秒解封。
阅读全文…
#!/bin/bash
btime=600
becur=`date -d "1 minute ago" +%H%M%S`
badip=`tac /home/www.centos.bz/log/access.log | awk -v a="$becur" -F [' ':] '{t=$5$6$7;if (t>=a){ print} else {exit;}' | egrep -v "\.(gif|jpg|jpeg|png|css|js)" | awk '{print $1}' | sort | uniq -c | awk '{if ($1>=20) print $2}}'`
if [ ! -z "$badip" ];then
...btime=600
becur=`date -d "1 minute ago" +%H%M%S`
badip=`tac /home/www.centos.bz/log/access.log | awk -v a="$becur" -F [' ':] '{t=$5$6$7;if (t>=a){ print} else {exit;}' | egrep -v "\.(gif|jpg|jpeg|png|css|js)" | awk '{print $1}' | sort | uniq -c | awk '{if ($1>=20) print $2}}'`
if [ ! -z "$badip" ];then
阅读全文…
“不 能通过已删除的行访问该行的信息。”错误原因
[ 2013-09-09 10:56:14 | 作者: admin ]
用 DataTable.Rows[i].Delete(); 删除后,然后循环读取datatable,结果还能遍历到原来的行,错误提示“不能通过已删除的行访问该行的信息。”
查阅资料才知道 Delete() 删除后 仅标记行状态为Deleted,并没有真正删除。确认改变需要再次调用RejectChanges()方法。
如果要彻底删除datarow,需要Delete()和AccepteChanges()方法同时使用,或者采用 datatable.Rows.RemoveAt(i)方法直接删除,其中i表示行索引,还有一个就是 datatable.Rows.Remove(DataRow dr)删除指定行。使用datatable.Rows.RemoveAt(i)要注意,如果连续使用 datatable.Rows.RemoveAt(0);datatable.Rows.RemoveAt(1);这时并不...
阅读全文…
查阅资料才知道 Delete() 删除后 仅标记行状态为Deleted,并没有真正删除。确认改变需要再次调用RejectChanges()方法。
如果要彻底删除datarow,需要Delete()和AccepteChanges()方法同时使用,或者采用 datatable.Rows.RemoveAt(i)方法直接删除,其中i表示行索引,还有一个就是 datatable.Rows.Remove(DataRow dr)删除指定行。使用datatable.Rows.RemoveAt(i)要注意,如果连续使用 datatable.Rows.RemoveAt(0);datatable.Rows.RemoveAt(1);这时并不...
阅读全文…
mysql中如何取得left join的第二表中符合条件的第一条记录
[ 2013-09-06 14:59:59 | 作者: admin ]
有表一 tableA
tid username title
1 lily 我公司将进行xx培训
2 angus 关于秋游的通知
3 boss 这个月不发奖金
4 vivi 新产品上市
表二 tableB
tid time txt
1 0809 大家快来。。。。
2 0810 我是新来的,大家好
2 0810 我知道你是新来的。。。
4 0811 价格太贵啦。。。
我想取得相同tid下的tableA的title跟对应的tableB中符合条件的第一条txt记录结合起来使用
注意:上面的tableB中有两条tid为2的记录,那么按我的要求只有前一条被提取。请高手帮忙
mysql里的正确答案如下,但是在sql server里面不支持
...
阅读全文…
tid username title
1 lily 我公司将进行xx培训
2 angus 关于秋游的通知
3 boss 这个月不发奖金
4 vivi 新产品上市
表二 tableB
tid time txt
1 0809 大家快来。。。。
2 0810 我是新来的,大家好
2 0810 我知道你是新来的。。。
4 0811 价格太贵啦。。。
我想取得相同tid下的tableA的title跟对应的tableB中符合条件的第一条txt记录结合起来使用
注意:上面的tableB中有两条tid为2的记录,那么按我的要求只有前一条被提取。请高手帮忙
mysql里的正确答案如下,但是在sql server里面不支持
...
阅读全文…
IE浏览器有福了:广告屏蔽插件Adblock Plus正式发布IE版!
[ 2013-09-03 10:50:16 | 作者: admin ]
Adblock Plus是Chrome和Firefox浏览器中最受欢迎的扩展之一,今天,Adblock Plus终于发布了IE版本。Adblock开发团队表示,开发IE版花费了6个月的时间。
Adblock Plus的功能就如同它的名字,就是一款用来屏蔽广告的插件。它的用法十分简单,安装启用后,上网再不会见到烦人的广告了。
据说,因为Adblock Plus的用户实在太多,大大影响到了Google以及其它广告供应商的生计,他们还曾经试图收买Adblock让它别将所有广告都屏蔽了。
IE版Adblock Plus功能特点:
——屏蔽横幅广告、弹出窗口、视频广告
——保护你的在线隐私
——点两下鼠标即可完成安装
——完全免费
Adblock Plus的功能就如同它的名字,就是一款用来屏蔽广告的插件。它的用法十分简单,安装启用后,上网再不会见到烦人的广告了。
据说,因为Adblock Plus的用户实在太多,大大影响到了Google以及其它广告供应商的生计,他们还曾经试图收买Adblock让它别将所有广告都屏蔽了。
IE版Adblock Plus功能特点:
——屏蔽横幅广告、弹出窗口、视频广告
——保护你的在线隐私
——点两下鼠标即可完成安装
——完全免费
多台web服务器方案及维护方法,web负载均衡
[ 2013-09-01 17:15:09 | 作者: admin ]
1. 多台web服务器的情况。
搭建nfs实现web目录共享,web1做服务器端,web2,web3,web4,web5挂载web1
web1做服务器端,编辑/etc/exports文件,内容是:
只要配这个文件 就好了,里面设置了ip段,然后启动
/etc/init.d/nfs restrat
/etc/init.d/portmap restart
service portmap start貌似也可以启动
web2,web3,web4,web5上挂载web1的/home/www/
查看是否挂载命令是df -h
...
阅读全文…
搭建nfs实现web目录共享,web1做服务器端,web2,web3,web4,web5挂载web1
web1做服务器端,编辑/etc/exports文件,内容是:
/home/www/ 192.168.0.0/24(rw,no_root_squash)
只要配这个文件 就好了,里面设置了ip段,然后启动
/etc/init.d/nfs restrat
/etc/init.d/portmap restart
service portmap start貌似也可以启动
web2,web3,web4,web5上挂载web1的/home/www/
mount -t nfs 192.168.0.101:/home/www/ /home/www/
查看是否挂载命令是df -h
...
阅读全文…