<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[antoni的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/antoni</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; antoni]]></copyright><item><title><![CDATA[自动检测 PHP-FPM 的错误并重启的 PHP 脚本]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8799020</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8799020</guid><author>antoni</author><pubDate>Sun, 14 Apr 2013 09:48:41 +0800</pubDate><description><![CDATA[公司的 WEB 生产服务器使用 NGINX+PHP-FPM 构建。

近日 NGINX 频报 (110: Connection timed out) 以及 (11: Resource temporarily unavailable) 的错误，出错后后端的 PHP-FPM 几乎全部挂死，重启 PHP-FPM 后又能正常工作。

初步认定是 PHP-FPM 或系统参数配置有问题，优化了系统参数]]></description><category></category></item><item><title><![CDATA[NGINX + PHP-FPM 502 相关事]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8799017</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8799017</guid><author>antoni</author><pubDate>Sun, 14 Apr 2013 09:48:00 +0800</pubDate><description><![CDATA[NGINX + PHP-FPM 报 502 错误，我想大部分 SA 都遇到过吧。
根据报错的频率，可以分为两种情况，间歇性的502和连续性的502。
这里只讨论第一种情况——间歇性的502。

502，是后端 PHP-FPM 不可用造成的，间歇性的502一般认为是由于 PHP-FPM 进程重启造成的。

在 PHP-FPM 的配置中存在这么一项：


How much reque]]></description><category></category></item><item><title><![CDATA[Nginx+PHP 配置漏洞：静态文件都可以当作 PHP 解析]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8799013</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8799013</guid><author>antoni</author><pubDate>Sun, 14 Apr 2013 09:46:19 +0800</pubDate><description><![CDATA[漏洞危险等级：毁灭性。

这个漏洞严格上说并不是 Nginx 和 PHP 本身的漏洞造成的，而是由配置造成的。在我之前写的许多配置中，都普遍存在这个漏洞。

简易检测方法：
打开 Nginx + PHP 服务器上的任意一张图片，如：

http://hily.me/test.png

如果在图片链接后加一串 /xxx.php （xxx为任意字符）后，如：

http://hi]]></description><category></category></item><item><title><![CDATA[无废话安装 Redis PHP C 扩展 phpredis]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8799008</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8799008</guid><author>antoni</author><pubDate>Sun, 14 Apr 2013 09:45:19 +0800</pubDate><description><![CDATA[[2011-07-10] 更新至最新版本：


# wget https://download.github.com/nicolasff-phpredis-2.1.3-0-g43bc590.tar.gz
# tar zxf nicolasff-phpredis-2.1.3-0-g43bc590.tar.gz
# cd nicolasff-phpredis-43bc590/
# /usr]]></description><category></category></item><item><title><![CDATA[善用 PHP-FPM 的 slow log 分析问题]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8798995</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8798995</guid><author>antoni</author><pubDate>Sun, 14 Apr 2013 09:39:37 +0800</pubDate><description><![CDATA[节前公司站点出现了莫名的 502 错误，在服务器配置上拆腾未果，重新开始怀疑程序问题。

关于 502 错误，具体可以参考以下两篇文章：
《自动检测 PHP-FPM 的错误并重启的 PHP 脚本》
《NGINX + PHP-FPM 502 相关事》

根据错误提示(11: Resource temporarily unavailable) ，排除掉服务器配置的问题，自然而然就怀疑是资源]]></description><category></category></item><item><title><![CDATA[Windows下 Apache 性能优化]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8798991</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8798991</guid><author>antoni</author><pubDate>Sun, 14 Apr 2013 09:37:33 +0800</pubDate><description><![CDATA[一般来说，WinNT系统下使用IIS，而Apache在Linux下应用的比较多，但是依然有很多人在WinNT系统下使用Apache而非IIS，可能是基于对Windows系统的熟悉吧。今天就来说一下在Windows系统下如果优化Apache的性能。

mpm_winnt.c 是专门针对Windows
 NT优化的MPM(多路处理模块)，它使用一个单独的父进程产生一个单独的子进程，在这个子进程中]]></description><category></category></item><item><title><![CDATA[基于iptable防御DDos攻击的插件]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8791222</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8791222</guid><author>antoni</author><pubDate>Fri, 12 Apr 2013 01:08:57 +0800</pubDate><description><![CDATA[http://www.oschina.net/code/snippet_171528_5609


本插件能实现在受到 cc、syn 半连接等拒绝服务攻击时，进行比较有效的防御。实际上，它并不具备阻截能力，它是基于 IPtables 防火墙，利用 netstat+过滤规则，与 IPtables防火墙实现联动。在有恶意拒绝服务攻击时，本软件会实时分析连接来源的企图。当连接IP 有明显的非正常连]]></description><category></category></item><item><title><![CDATA[微博短链接算法php版本]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8791213</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8791213</guid><author>antoni</author><pubDate>Fri, 12 Apr 2013 01:04:57 +0800</pubDate><description><![CDATA[思路：
1)将长网址md5生成32位签名串,分为4段, 每段8个字节;
2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;
3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;
4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址;
下面是]]></description><category></category></item><item><title><![CDATA[Nginx upstream的5种权重分配方式]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8791209</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8791209</guid><author>antoni</author><pubDate>Fri, 12 Apr 2013 00:58:48 +0800</pubDate><description><![CDATA[1、轮询（默认）

每个请求按时间顺序逐一分配到不同的后端服务器，如果后端服务器down掉，能自动剔除。

2、weight
指定轮询几率，weight和访问比率成正比，用于后端服务器性能不均的情况。
例如：

upstream backend {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
}]]></description><category></category></item><item><title><![CDATA[redis编译笔记]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8791208</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8791208</guid><author>antoni</author><pubDate>Fri, 12 Apr 2013 00:58:05 +0800</pubDate><description><![CDATA[mkdir -p /home/download
cd /home/download
# 下载redis安装包
wget http://redis.googlecode.com/files/redis-2.4.17.tar.gz
# 解压
tar xvf redis-2.4.17.tar.gz
# 编译
make PREFIX=/usr/local/redis USE_TCMALLOC]]></description><category></category></item><item><title><![CDATA[一些强大的命令]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8791205</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8791205</guid><author>antoni</author><pubDate>Fri, 12 Apr 2013 00:56:40 +0800</pubDate><description><![CDATA[# 时间截转时间
date -d@1234567890

# 创建一个空文件，比touch短
> file.txt

# 列出当前目录里最大的10个文件
du -s * | sort -n | tail

# 列出头十个最耗内存的进程
ps aux | sort -nk +4 | tail

# 比较一个远程文件和一个本地文件
ssh user@host cat /path/to/remotefi]]></description><category></category></item><item><title><![CDATA[伪造源IP地址的DoS攻击]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8791203</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8791203</guid><author>antoni</author><pubDate>Fri, 12 Apr 2013 00:55:21 +0800</pubDate><description><![CDATA[/*
 * =====================================================================================
 *
 *       Filename:  dos.c
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  2012年02月]]></description><category></category></item><item><title><![CDATA[iptables限制连接数]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8791199</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8791199</guid><author>antoni</author><pubDate>Fri, 12 Apr 2013 00:53:21 +0800</pubDate><description><![CDATA[最近不停地被 CC （DDOS的一种）频繁干扰，分享一个 iptables 屏蔽 DDOS 的脚本。 
让 crond 每分钟运行一次。 ############### KILL DDOS ##############
iptables_log="/data/logs/iptables_conf.log"
### Iptables 配置导出的路径，可任意修改 ###
##############]]></description><category></category></item><item><title><![CDATA[mysql表删除重复记录方法总结及效率对比]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/8791194</link><guid>https://blog.youkuaiyun.com/antoni/article/details/8791194</guid><author>antoni</author><pubDate>Fri, 12 Apr 2013 00:51:38 +0800</pubDate><description><![CDATA[下面这些方法在我虚拟机上做的测试，内存384M,交换分区1024M, test共300W数据，重复记录3.5W，需求如题目所示，表结构如下：

CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET utf8 */;
 
USE `test`;
 
/*Table structure for t]]></description><category></category></item><item><title><![CDATA[Mysql只导单行的INSERT语句]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/5334632</link><guid>https://blog.youkuaiyun.com/antoni/article/details/5334632</guid><author>antoni</author><pubDate>Mon, 01 Mar 2010 02:43:00 +0800</pubDate><description><![CDATA[只导创建表的结构：bin/mysqldump -d --add-drop-database=FALSE --add-drop-table=FALSE -usosodb -p sosodb TEST > /tmp/test.sql只导单行的INSERT语句:bin/mysqldump --extended-insert=FALSE --add-drop-database=FALSE --ad]]></description><category></category></item><item><title><![CDATA[如何在webbrwoser控件中使用XP风格]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/5305855</link><guid>https://blog.youkuaiyun.com/antoni/article/details/5305855</guid><author>antoni</author><pubDate>Thu, 11 Feb 2010 02:01:00 +0800</pubDate><description><![CDATA[Option ExplicitPrivate Type UUID    Data1 As Long    Data2 As Integer    Data3 As Integer    Data4(0 To 7) As ByteEnd TypePrivate Declare Sub ZeroMemory()Sub ZeroMemory Lib "kernel32]]></description><category></category></item><item><title><![CDATA[VB6 to VB.Net 几个转换速查]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/5305850</link><guid>https://blog.youkuaiyun.com/antoni/article/details/5305850</guid><author>antoni</author><pubDate>Thu, 11 Feb 2010 01:43:00 +0800</pubDate><description><![CDATA[  VB6     　   VB.NET             DoEvents           　System.Windows.Forms.Application.DoEvents()         Command1.BackColor   =   vbRed           　Command1.BackColor   =   System.Drawing.C]]></description><category></category></item><item><title><![CDATA[纯VB真正实现稳定的NT服务]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/5305848</link><guid>https://blog.youkuaiyun.com/antoni/article/details/5305848</guid><author>antoni</author><pubDate>Thu, 11 Feb 2010 01:41:00 +0800</pubDate><description><![CDATA[* ************************************************************** *   *    程序名称：modNtSrv   *    程序功能：实现NT服务   *    作者：lyserver   *    联系方式：http://blog.youkuaiyun.com/lyserver   * ************]]></description><category></category></item><item><title><![CDATA[javascript“设为首页”与“加入收藏”兼容多浏览器代码 ]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/5305847</link><guid>https://blog.youkuaiyun.com/antoni/article/details/5305847</guid><author>antoni</author><pubDate>Thu, 11 Feb 2010 01:38:00 +0800</pubDate><description><![CDATA[    无标题页    <!--     function AddFavorite(sURL, sTitle)     {         try         {             window.external.addFavorite(sURL, sTitle);         }         catch (e)         {]]></description><category></category></item><item><title><![CDATA[VB实现可执行文件运行时自删除]]></title><link>https://blog.youkuaiyun.com/antoni/article/details/5305845</link><guid>https://blog.youkuaiyun.com/antoni/article/details/5305845</guid><author>antoni</author><pubDate>Thu, 11 Feb 2010 01:34:00 +0800</pubDate><description><![CDATA[    有时，为了实现动态更新，我们需要对正处于运行状态的应用程序进行自删除，就像360安全卫士在线升级那样。但是，Windows是不允许删除正处于运行状态的应用程序的，怎么办？一般来说，我们可以使用两个程序来实现，一个专门负责版本检测和删除，一个才是业务需要的主应用程序。能不能将二者合二为一呢？答案是可以的，那就是使用BAT或VBS来进行。使用BAT，由于不能及时判断应用程序是否已经结束，于是人]]></description><category></category></item></channel></rss>