利用iptables限制同一IP连接数

5 条评论

最近一段时间比较懒散,很久没更新了,今天闲来没事,就又来发一篇.
通常我们的vps都是linux,现在的环境大家都追求性能和便捷了所以多是lnmp,通常nginx限制ip的连接数都是修改nginx.conf
1.#limit_zone  oneip  $binary_remote_addr  10m;
将前面的#去掉,再添加
1.limit_conn oneip 20;
limit_conn 语句最后面的数字为单个IP的最大并发连接数为20。
如果想利用iptables来限制一个ip的连接数又是怎么样的呢?
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP
这样即是一个ip的80端口连接数最大不超过10
更智能的利用iptables的recent 模块来判断某一个ip是否由于连接数过大而ban掉他
这时,就需要下列的三行指令:

Linux下安装eAccelerator

1 条评论

首先确定自己有否安装make模块
如果没有,请执行 yum install make
由于eAccelerator 0.9.6太新,而且压缩等级貌似指定无效,很多程序都只支持到0.9.53,所以,选择0.9.53版本的eAccelerator.
接着执行下面的命令 wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
tar xjf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3
export PHP_PREFIX="/usr/local"   (把PHP安装目录导入到环境变量,FreeBSD默认是/usr/local,centos默认是/usr/local/php)
$PHP_PREFIX/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
make
make install

mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator

linux创建以时间戳为文件夹命令

0 条评论

代码如下
#mkdir -p /web/home/`date +%Y%m%d`
当然还可以 date +%Y%m%d%H%M%S%s%h
其中%s是表示从1970年1月1日0点0分到现在一共经过了多少秒
%h表示月份
创建出来即是:
201003222053201269262400Mar
这个有什么用?
嘿嘿,添加域名为文件夹再加上这个时间戳,那就安全多了,至少不然人猜测到网站目录
在bash shell下使用:
targetdir=$(date +%Y%m%d)
而在在sh shell下用:
#!/bin/sh
vdate=`date +%y%m%d`
echo $vdate

2010-03-23 / 计算机 / linux 阅读全文

Linux下hostname最好使用二级域名

0 条评论
1. vps 的 Hostname 不是现在的域名,要如何使 sendmail 寄件者变成现在的域名?
修改hostname
2. 如果请服务商更改 Hostname ,会不会造成 mysql 不正常或影响其他程序?
不会的啦
3. Hostname 可以自己修改吗?
可以的。

Linux安装sendmail

0 条评论

CentOS:
yum install sendmail
yum install sendmail-cf

debian/ubuntu:
apt-get install sendmail
/etc/init.d/sendmail start

php.ini 里面设置sendmail
在[mail function]下,
sendmail_path = /usr/sbin/sendmail -t -i  一般是这个路径。

Linux最好是安装senmail,因为不安装sendmail的话,wp 程序在别人留言时会很卡的
sendmail的hostname配置文件在/etc/mail/local-host-names(不同os可能在不同路径)
在里面可以设置sendmail的hostname(非系统的hostname)