解决办法:
sysctl net.ipv4.tcp_syncookies=0
查看:
netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n
解决办法:
sysctl net.ipv4.tcp_syncookies=0
查看:
netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n
nginx限流可能会导致客户访问感知到变慢,所以在怕爬虫或攻击停止的时候应该关闭限流!
限流的阈值、突发速率之类的需要尽量大点,大概峰值的几倍这样,防止正常用户被迫全局限流。
例如:
ln -s /var/www/php/ /mnt/www/blog
# 第一次会创建出“/mnt/www/blog -> /var/www/php/” 这个软链接
ln -s /var/www/php/ /mnt/www/blog
# 第二次会创建出“/var/www/php/php -> /var/www/php/” 这个软链接
# 第三次会提示 File exists
解决办法:(创建前判断下目标是否存在即可)
[ ! -e /mnt/www/blog ] && ln -s /var/www/php /mnt/www/blog
很多教程是改`client_body_buffer_size
`我觉得这样不太好,因为:
另外一种解决方案是:(关闭缓冲即可)
fastcgi_buffering off;
fastcgi_request_buffering off;
vi ~/.bashrc , 添加如下命令
export PROMPT_COMMAND="history -a; history -r; $PROMPT_COMMAND"
yum install procps -y
因为这是不会超时的,导致默认的1024个file用完了就会导致浏览器无法访问,甚至进程崩溃
accept(4, 0x7fff7b7be8d0, 0x7fff7b7be8cc) = -1 EMFILE (Too many open files)
prlimit --pid 12345 --nofile=1024:1024
查询某个进程打开文件数:
ls /proc/$pid/fd/ | wc -l
查询某个进程limit信息
cat /proc/12970/limits