Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
[ 2012-11-18 12:25:50 | 作者: admin ]
脚本如下:
#!/bin/sh
nginx_home = /Data/app_1/nginx
log_path = /Data/logs
/usr/bin/tail -n50000 $log_path/access.log \
|awk ‘$8 ~/aspx/{print $2,$13}’ \
|grep -i -v -E “google|yahoo|baidu|msnbot|FeedSky|sogou” \
|awk ‘{print $1}’|sort|uniq -c |sort -rn \
|awk ‘{if($1>150)print “deny “$2″;”}’> $nginx_home/conf/vhosts/blockip.conf
/bin/kill -HUP `cat $nginx_home/nginx.pid`
也可以通过分析ngin...
阅读全文…
#!/bin/sh
nginx_home = /Data/app_1/nginx
log_path = /Data/logs
/usr/bin/tail -n50000 $log_path/access.log \
|awk ‘$8 ~/aspx/{print $2,$13}’ \
|grep -i -v -E “google|yahoo|baidu|msnbot|FeedSky|sogou” \
|awk ‘{print $1}’|sort|uniq -c |sort -rn \
|awk ‘{if($1>150)print “deny “$2″;”}’> $nginx_home/conf/vhosts/blockip.conf
/bin/kill -HUP `cat $nginx_home/nginx.pid`
也可以通过分析ngin...
阅读全文…
有没有有效的查看centos 流量和控制流量的软件,统计连接数 netstat,iptraf
[ 2012-11-18 12:24:36 | 作者: admin ]
ntop
iftop
tc
iptraf
安装iptraf查看流量,安装tc进行流控
服务器上的一些统计数据:
1)统计80端口连接数
netstat -nat|grep -i "80"|wc -l
netstat -pnt|grep -i "80"|wc -l
windows下可以用 netstat -ano
2)统计httpd协议连接数
ps -ef|grep httpd|wc -l
3)、统计已连接上的,状态为“established'
netstat -na|grep ESTABLISHED|wc -l
4)、查出每个IP地址连接数,不按数量排序.
[code][/code]...
阅读全文…
iftop
tc
iptraf
安装iptraf查看流量,安装tc进行流控
服务器上的一些统计数据:
1)统计80端口连接数
netstat -nat|grep -i "80"|wc -l
netstat -pnt|grep -i "80"|wc -l
windows下可以用 netstat -ano
2)统计httpd协议连接数
ps -ef|grep httpd|wc -l
3)、统计已连接上的,状态为“established'
netstat -na|grep ESTABLISHED|wc -l
4)、查出每个IP地址连接数,不按数量排序.
[code][/code]...
阅读全文…
Mysql创建、删除用户
[ 2012-11-14 14:23:04 | 作者: admin ]
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):
1.新建用户
登录MYSQL:
@>mysql -u root -p
@>密码
创建用户:
mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
这样就创建了一个名为:test 密码为:1234 的用户。
注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。
然后登录一下:
mysql>exit;
@>mysql -u test -p
...
阅读全文…
1.新建用户
登录MYSQL:
@>mysql -u root -p
@>密码
创建用户:
mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
这样就创建了一个名为:test 密码为:1234 的用户。
注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。
然后登录一下:
mysql>exit;
@>mysql -u test -p
...
阅读全文…
mysql5.6.13 主从复制(超简单)
[ 2012-11-12 08:51:19 | 作者: admin ]
p.s.主服务器192.168.1.100,从服务器192.168.1.120,change master命令的时候必须指定端口。
怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:
1、主从服务器分别作以下操作:
1.1、版本一致 mysql5.6.13
1.2、初始化表,并在后台启动mysql
1.3、修改root的密码
2、修改主服务器master:
#vi /etc/my.cnf
阅读全文…
怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:
1、主从服务器分别作以下操作:
1.1、版本一致 mysql5.6.13
1.2、初始化表,并在后台启动mysql
1.3、修改root的密码
2、修改主服务器master:
#vi /etc/my.cnf
[mysqld]
#master
log-bin=mysql-bin //[必须]启用二进制日志
server-id=100 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
...#master
log-bin=mysql-bin //[必须]启用二进制日志
server-id=100 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
阅读全文…
PHP中strtr和str_replace比较
[ 2012-11-11 17:17:49 | 作者: admin ]
首先这2个函数都是具有替换字符功能的。但是strtr比str_replace性能上要块4倍。具体情况请看如下分解:
首先是strtr函数:
实例1:当被替换的值长度大于被替换目标的时候
实例2:当被替换的值长度小于被替换目标的时候
<?php
//这个时候输出的为laocai而不是lacai,因为str("pao")>strlen("la")
echo strtr("paocai!","pao","la");
?>
实例3:支持数组替换[code][/code]...
阅读全文…
首先是strtr函数:
实例1:当被替换的值长度大于被替换目标的时候
<?php
//这个时候输出的为baicai而不是bai123cai,因为str("pao")<strlen("bai123")
echo strtr("paocai!","pao","bai123");
?>
//这个时候输出的为baicai而不是bai123cai,因为str("pao")<strlen("bai123")
echo strtr("paocai!","pao","bai123");
?>
实例2:当被替换的值长度小于被替换目标的时候
<?php
//这个时候输出的为laocai而不是lacai,因为str("pao")>strlen("la")
echo strtr("paocai!","pao","la");
?>
实例3:支持数组替换[code][/code]...
阅读全文…
关于自动删除mysql二进制日志expire_logs_days参数的理解
[ 2012-11-06 00:05:32 | 作者: admin ]
用的mysql版本是percona的5.0.75今天发现之前10天得binlog依然保存,当天得binlog数据不足1000M,很奇怪为什么没有自动删除呢 expire_logs_days已经设置为2了。后来查了查文档,mysqld对于日志清理的操作是要log flushing 时候才会发生。但什么情况下才会触发log flushing呢有以下几种情况:
1 重启mysql
2 命令行输入
flush Logs
mysqladmin flush-logs,
mysqladmin refresh,
mysqldump –flush-logs,
mysqldump –master-data
3 满足max_binlog_size
当以上几个条件满足后会触发log flushing操作,它会检查expire_logs_days这个动态参数(set global expire_logs_days=1) ...
阅读全文…
1 重启mysql
2 命令行输入
flush Logs
mysqladmin flush-logs,
mysqladmin refresh,
mysqldump –flush-logs,
mysqldump –master-data
3 满足max_binlog_size
当以上几个条件满足后会触发log flushing操作,它会检查expire_logs_days这个动态参数(set global expire_logs_days=1) ...
阅读全文…
关于mysql二进制日志的一些命令
[ 2012-11-05 23:52:27 | 作者: admin ]
定义: 二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。
作用:
1。二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新。
2。二进制日志还用于在主复制服务器上记录所有将发送给从服务器的语句。
不良影响:
运行服务器时若启用二进制日志则性能大约慢1%。
开启bin-log日志
通过my.cnf 添加 log-bin=file 选项可以开启
日志位置
>>如果没有指定文件名,则Mysql使用hostname-bin文件.
>>如果指定了相对路径,则假定该路径相对于数据目录
>>Mysql在文件名后添加了数字索引.所以该文件最后的形式为filename.number
如果你在日志名中提供了扩展名(例如,–log-bin=file_name.extension),则扩展名被悄悄除掉并忽略。
...
阅读全文…
作用:
1。二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新。
2。二进制日志还用于在主复制服务器上记录所有将发送给从服务器的语句。
不良影响:
运行服务器时若启用二进制日志则性能大约慢1%。
开启bin-log日志
通过my.cnf 添加 log-bin=file 选项可以开启
日志位置
>>如果没有指定文件名,则Mysql使用hostname-bin文件.
>>如果指定了相对路径,则假定该路径相对于数据目录
>>Mysql在文件名后添加了数字索引.所以该文件最后的形式为filename.number
如果你在日志名中提供了扩展名(例如,–log-bin=file_name.extension),则扩展名被悄悄除掉并忽略。
...
阅读全文…
CentOS5.3的mysql双机热备
[ 2012-11-05 23:16:00 | 作者: admin ]
p.s.网上看了下,没有找到原作者,就不注明了
花了大半天的时间研究mysql 5.0.* ,参考了很多文档,总算将mysql的双机热备给搞定了。心情很好,写个文章纪念一下。因为以后还可能实际用到,所以也作以下笔记。
使用两台虚拟机,nod1和nod2,分别设置两块网卡,桥接到主机网卡上。
nod1 eth0:192.168.145.162
eth1:192.168.254.1
nod2 eth0:192.168.145.168
eth1:192.168.254.2
1.基础安装mysql.
首先干净的系统,不是干净的系统不要紧,反正自己搞明白就行了。在nod1上安装mysql.
yum -y install mysql-server
chkconfig mysqld on
service mysqld start
mysqladmin -uroot password’1q2w3e’修改root密码。
...
阅读全文…
花了大半天的时间研究mysql 5.0.* ,参考了很多文档,总算将mysql的双机热备给搞定了。心情很好,写个文章纪念一下。因为以后还可能实际用到,所以也作以下笔记。
使用两台虚拟机,nod1和nod2,分别设置两块网卡,桥接到主机网卡上。
nod1 eth0:192.168.145.162
eth1:192.168.254.1
nod2 eth0:192.168.145.168
eth1:192.168.254.2
1.基础安装mysql.
首先干净的系统,不是干净的系统不要紧,反正自己搞明白就行了。在nod1上安装mysql.
yum -y install mysql-server
chkconfig mysqld on
service mysqld start
mysqladmin -uroot password’1q2w3e’修改root密码。
...
阅读全文…