403含义:
该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。在服务器不想提供任何反馈信息的情况下,服务器可以用404 Not Found代替403 Forbidden比如:choovin。
安装Apache,版本2.2.8(和版本无关),装完刚测试可以;配置了下php的php.ini文件再次localhost打 开发现错误:HTTP 错误 403 - 禁止访问,即403 Forbidden:You don't have permission to access / on this server.权限又不够了?
打开apache的配置文件httpd.conf,逐行检查。在大约快一半的地方有以下这段代码:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
发现了吧。由于配置了php后,这里的“Deny from all”已经拒绝了一切连接。把该行改成“allow from all”,修改后的代码如下,问题解决
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
再次在浏览器里打开 http://localhost,显示it works! 总结:如果你也发生了这样的403禁止访问,不妨注意下apache的httpd.conf配置文件里有“Deny from all”这行的代码处,看看是不是哪里被系统悄悄地修改了
php的header()函数构造403输出,前面不能有输出,用一个:
所有对header()函数有了解的人都知道,这个函数会发送一段文件头给浏览器,但是如果在使用这个函数之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会提示出错。如果我们去掉第一行的ob_start(),再执行此程序,我们会发现得到了一条错误提示:"Header had all ready send by"!但是加上ob_start,就不会提示出错,原因是当打开了缓冲区,echo后面的字符不会输出到浏览器,而是保留在服务器,直到你使用 flush或者ob_end_flush才会输出,所以并不会有任何文件头输出的错误!
参考:http://www.jackxiang.com/post/1063/
后记:
涉及到输出的解说,主要还可以了解一下ob_start这个函数的用法:
header函数前输入内容
一般来说在header函数前不能输出html内容,类似的还有setcookie() 和 session 函数,这些函数需要在输出流中增加消息头部信息。如果在header()执行之前有echo等语句,当后面遇到header()时,就会报出 “Warning: Cannot modify header information - headers already sent by ....”错误。就是说在这些函数的前面不能有任何文字、空行、回车等,而且最好在header()函数后加上exit()函数。例如下面的错误写法,在两个php代码段之间有一个空行:
原因是:PHP脚本开始执行 时,它可以同时发送http消息头部(标题)信息和主体信息. http消息头部(来自 header() 或SetCookie() 函数)并不会立即发送,相反,它被保存到一个列表中. 这样就可以允许你修改标题信息,包括缺省的标题(例如Content-Type 标题).但是,一旦脚本发送了任何非标题的输出(例如,使用 HTML 或 print()调用),那么PHP就必须先发送完所有的Header,然后终止 HTTPheader.而后继续发送主体数据.从这时开始,任何添加或修改Header信息的试图都是不允许的,并会发送上述的错误消息之一。
解决办法:
修改php.ini打开缓存(output_buffering),或者在程序中使用缓存函数ob_start(),ob_end_flush()等。原 理是:output_buffering被启用时,在脚本发送输出时,PHP并不发送HTTPheader。相反,它将此输出通过管道(pipe)输入到 动态增加的缓存中(只能在PHP4.0中使用,它具有中央化的输出机制)。你仍然可以修改/添加header,或者设置cookie,因为header实 际上并没有发送。当全部脚本终止时,PHP将自动发送HTTP header到浏览器,然后再发送输出缓冲中的内容。
该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。在服务器不想提供任何反馈信息的情况下,服务器可以用404 Not Found代替403 Forbidden比如:choovin。
安装Apache,版本2.2.8(和版本无关),装完刚测试可以;配置了下php的php.ini文件再次localhost打 开发现错误:HTTP 错误 403 - 禁止访问,即403 Forbidden:You don't have permission to access / on this server.权限又不够了?
打开apache的配置文件httpd.conf,逐行检查。在大约快一半的地方有以下这段代码:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
发现了吧。由于配置了php后,这里的“Deny from all”已经拒绝了一切连接。把该行改成“allow from all”,修改后的代码如下,问题解决
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
再次在浏览器里打开 http://localhost,显示it works! 总结:如果你也发生了这样的403禁止访问,不妨注意下apache的httpd.conf配置文件里有“Deny from all”这行的代码处,看看是不是哪里被系统悄悄地修改了
php的header()函数构造403输出,前面不能有输出,用一个:
所有对header()函数有了解的人都知道,这个函数会发送一段文件头给浏览器,但是如果在使用这个函数之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会提示出错。如果我们去掉第一行的ob_start(),再执行此程序,我们会发现得到了一条错误提示:"Header had all ready send by"!但是加上ob_start,就不会提示出错,原因是当打开了缓冲区,echo后面的字符不会输出到浏览器,而是保留在服务器,直到你使用 flush或者ob_end_flush才会输出,所以并不会有任何文件头输出的错误!
参考:http://www.jackxiang.com/post/1063/
后记:
涉及到输出的解说,主要还可以了解一下ob_start这个函数的用法:
header函数前输入内容
一般来说在header函数前不能输出html内容,类似的还有setcookie() 和 session 函数,这些函数需要在输出流中增加消息头部信息。如果在header()执行之前有echo等语句,当后面遇到header()时,就会报出 “Warning: Cannot modify header information - headers already sent by ....”错误。就是说在这些函数的前面不能有任何文字、空行、回车等,而且最好在header()函数后加上exit()函数。例如下面的错误写法,在两个php代码段之间有一个空行:
原因是:PHP脚本开始执行 时,它可以同时发送http消息头部(标题)信息和主体信息. http消息头部(来自 header() 或SetCookie() 函数)并不会立即发送,相反,它被保存到一个列表中. 这样就可以允许你修改标题信息,包括缺省的标题(例如Content-Type 标题).但是,一旦脚本发送了任何非标题的输出(例如,使用 HTML 或 print()调用),那么PHP就必须先发送完所有的Header,然后终止 HTTPheader.而后继续发送主体数据.从这时开始,任何添加或修改Header信息的试图都是不允许的,并会发送上述的错误消息之一。
解决办法:
修改php.ini打开缓存(output_buffering),或者在程序中使用缓存函数ob_start(),ob_end_flush()等。原 理是:output_buffering被启用时,在脚本发送输出时,PHP并不发送HTTPheader。相反,它将此输出通过管道(pipe)输入到 动态增加的缓存中(只能在PHP4.0中使用,它具有中央化的输出机制)。你仍然可以修改/添加header,或者设置cookie,因为header实 际上并没有发送。当全部脚本终止时,PHP将自动发送HTTP header到浏览器,然后再发送输出缓冲中的内容。
三星的许多机器都拥有自带的炫目音乐播放器,而I9000自然也有,不过许多机友反应I9000在播放音乐的时候,音乐播放器会出现乱码的问题,这是因为android只支持utf-16编码的文件信息格式,而最简单的办法就是把音乐文件的信息改成utf-16编码,之后再拷贝进手机就没有问题了。
如何修改MP3文件编码的工具有很多,以大家最为熟悉的千千静听为例,简单方便地批量修改MP3信息。
如下图所示,用千千静听可以批量改属性,还比较方便,这样一处理,手机里就不会乱码了,排序也就正常了。
步骤一:全选歌曲列表
步骤二:先选择写入类型为ID3V2,之后选择UTF-16编码
来自:http://samsungbbs.cnmo.com/thread-175748-1-1.html
我的操作及反馈,我用的是欧版的i9000:
添加->目录->全选里面的歌曲->右键->批量文件属性->属性:读取类型优先级:APEv2 > ID3v2 > ID3v1 定写入类型:ID3v2 ID3v2编码类型:UTF-16 勾选:ID3v2写入时使用填充数据。
批量转到90%时出现:千千静听 已停止工作
出现了一个问题。 关闭程序(C)
我最后用手机上开FTP,再把这个music文件夹里的音乐上传到sd卡里的music后,用目录浏览器查看,发现能正常显示中文了,不管播放器能否正常,想听就播放哪一首得了,呵呵。
如何修改MP3文件编码的工具有很多,以大家最为熟悉的千千静听为例,简单方便地批量修改MP3信息。
如下图所示,用千千静听可以批量改属性,还比较方便,这样一处理,手机里就不会乱码了,排序也就正常了。
步骤一:全选歌曲列表
步骤二:先选择写入类型为ID3V2,之后选择UTF-16编码
来自:http://samsungbbs.cnmo.com/thread-175748-1-1.html
我的操作及反馈,我用的是欧版的i9000:
添加->目录->全选里面的歌曲->右键->批量文件属性->属性:读取类型优先级:APEv2 > ID3v2 > ID3v1 定写入类型:ID3v2 ID3v2编码类型:UTF-16 勾选:ID3v2写入时使用填充数据。
批量转到90%时出现:千千静听 已停止工作
出现了一个问题。 关闭程序(C)
我最后用手机上开FTP,再把这个music文件夹里的音乐上传到sd卡里的music后,用目录浏览器查看,发现能正常显示中文了,不管播放器能否正常,想听就播放哪一首得了,呵呵。
三星I9000 刷机,特别是欧版,很可能是刷错了不匹配的ROM版本,导致重复启动问题,我的手机是:“音量-_中键_电源”同时按5秒钟,能进刷机模式,会显示挖煤标志。
Download 欧洲最新版本URl:http://down3.tgbus.com/gphone/ROM/I9000/I9000XXJVR.rar
说到可用url,中国的数据提供商特别是115网盘,存东西存不到多久就不存了,这样导致我中文包把网都翻了一便都硬是没有下载到,有可能是因为时间太久了,就不提供了,或则删除失效了,只好在上面这个链接找了一个中文包,于是否解压,运行:I9003_Odin3 v1.82.exe ,后在相关栏目填写上下载下来的东东,如下:
PIT:
C:\Users\admin\Desktop\999\I9000XXJVR\s1_odin_20100512.pit
------------------------------------------------------------------------------------------
PDA:
C:\Users\admin\Desktop\999\I9000XXJVR\CODE_I9000XXJVR_CL425308_REV03_user_low_ship.tar.md5
CSC:
C:\Users\admin\Desktop\999\I9000XXJVR\CSC.tar
phone:
C:\Users\admin\Desktop\999\I9000XXJVR\MODEM_I9000XXJVR_REV_00_CL1044379.tar.md5
后自动会重启,配置一下也就好了。如果不加入csc,phone的选择会出现wifi没法确认,打电话不识别电话卡等,都得放上也就Ok了。
重启后先进工程模式(*#0*#),选Sensor,用力甩手机直到黑圈里的数字由0变成3,退出后指南针正常。
刷了欧版jvh后指南针不指北了的解决方法:
重启后先进工程模式(*#0*#),选Sensor,用力甩手机直到黑圈里的数字由0变成3,退出后指南针正常。
我坐着只甩到2,最后站起来,使用了80%的大力才得到了3的值,同时发现这个电板有点晃动(也可能不是原电),这块设计可能多少有点问题。
三星I9000手机桌面上边,最下面的一排东西没有了怎么弄回来:(实践OK),三星I9000 桌面只有三个图标了拨号键不见了:
点开应用程序,菜单键-编辑,原本的电话、联系人、短信肯定放在列表中某个位置,将他们往最下一栏拖就行了,你也可以拖其他应用
这个方法绝对正确!
Download 欧洲最新版本URl:http://down3.tgbus.com/gphone/ROM/I9000/I9000XXJVR.rar
说到可用url,中国的数据提供商特别是115网盘,存东西存不到多久就不存了,这样导致我中文包把网都翻了一便都硬是没有下载到,有可能是因为时间太久了,就不提供了,或则删除失效了,只好在上面这个链接找了一个中文包,于是否解压,运行:I9003_Odin3 v1.82.exe ,后在相关栏目填写上下载下来的东东,如下:
PIT:
C:\Users\admin\Desktop\999\I9000XXJVR\s1_odin_20100512.pit
------------------------------------------------------------------------------------------
PDA:
C:\Users\admin\Desktop\999\I9000XXJVR\CODE_I9000XXJVR_CL425308_REV03_user_low_ship.tar.md5
CSC:
C:\Users\admin\Desktop\999\I9000XXJVR\CSC.tar
phone:
C:\Users\admin\Desktop\999\I9000XXJVR\MODEM_I9000XXJVR_REV_00_CL1044379.tar.md5
后自动会重启,配置一下也就好了。如果不加入csc,phone的选择会出现wifi没法确认,打电话不识别电话卡等,都得放上也就Ok了。
重启后先进工程模式(*#0*#),选Sensor,用力甩手机直到黑圈里的数字由0变成3,退出后指南针正常。
刷了欧版jvh后指南针不指北了的解决方法:
重启后先进工程模式(*#0*#),选Sensor,用力甩手机直到黑圈里的数字由0变成3,退出后指南针正常。
我坐着只甩到2,最后站起来,使用了80%的大力才得到了3的值,同时发现这个电板有点晃动(也可能不是原电),这块设计可能多少有点问题。
三星I9000手机桌面上边,最下面的一排东西没有了怎么弄回来:(实践OK),三星I9000 桌面只有三个图标了拨号键不见了:
点开应用程序,菜单键-编辑,原本的电话、联系人、短信肯定放在列表中某个位置,将他们往最下一栏拖就行了,你也可以拖其他应用
这个方法绝对正确!
Linux下mail命令附件发送使用技巧
Unix/LinuxC技术 jackxiang 2012-11-24 22:40
这几天由于经常远程到一个Linux主机上处理东西,然后会生成一些文件,所以想把这些东西通过邮件附件的形式给自己发回来,于是好好研究了下Linux中的mail命令,其中参考了一些网友的经验:
1. 例如最简单的一个:
mail -s text zhousir1991@gmail.com
这条命令的结果是发一封标题为text的空信给后面的邮箱,但是往往这类邮件会被当成垃圾邮件来处理,所以如果没有收到邮件,建议打开垃圾箱来查看一下。
第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束
2. 第二个例子:
echo “This is a test mail!”|mail -s text zhousir1991@gmail.com#第二种方法,使用管道命令。
mail -s test zhousir1991@gmail.com < file
第三种方法,以file的内容为邮件内容发信,这个我个人现在用的比较多,因为在终端中写东西毕竟不是很方便,所以我还是会首先选择事先写好一个文档然后再mail过去。
3. 带附件的邮件发送(这是我想重点介绍的一个东西)
如果你的系统中没有uuencode命令的话,并且你已经配好了yum仓库;(yum仓库配置可以参看我的其他文档:http://www.cnblogs.com/zhousir1991/archive/2011/03/05/1971879.html)请先安装sharutils (yum install sharutils)
uuencode 需要两个参数,第一个是你要发送的文件,当然这个也可以用管道来做,第二个是显示的文件名
uuencode /home/zhousir/httpd.conf httpd.conf|mail -s mailtest zhousir1991@gmail.com
---------------------------
发现一个问题:
-bash: mail: command not found
呵呵,显然mailx没有安装,于是:
yum -y install mailx
然后whois命令也没有
yum -y install jwhois
tar czf - /home/zhousir/ | uuencode home.tgz |mail -s mailtest zhousir1991@gmail.com
ps: slackware下的mail好像有一个-a参数,可以直接添加附件,我没有用过。
转自:http://www.svn8.com/linux/accidence/20091016/10858.html
Linux下Mail命令收集:
“/var/spool/mail/[linux用户名]”文件中。
在linux中输入mail,就进行了收件箱,并显示二十封邮件列表。
此时命令提示符为"&"
unread 标记为未读邮件
h|headers 显示当前的邮件列表
l|list 显示当前支持的命令列表
?|help 显示多个查看邮件列表的命令参数用法
d 删除当前邮件,指针并下移。 d 1-100 删除第1到100封邮件
f|from 只显示当前邮件的简易信息。 f num 显示某一个邮件的简易信息
f|from num 指针移动到某一封邮件
z 显示刚进行收件箱时的后面二十封邮件列表
more|p|page 阅读当前指针所在的邮件内容 阅读时,按空格键就是翻页,按回车键就是下移一行
t|type|more|p|page num 阅读某一封邮件
n|next|{什么都不填} 阅读当前指针所在的下一封邮件内容
阅读时,按空格键就是翻页,按回车键就是下移一行
v|visual 当前邮件进入纯文本编辑模式
n|next|{什么都不填} num 阅读某一封邮件
top 显示当前指针所在的邮件的邮件头
file|folder 显示系统邮件所在的文件,以及邮件总数等信息
x 退出mail命令平台,并不保存之前的操作,比如删除邮件
q 退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,已阅读邮件会转存到当前用户家目录下的mbox文件中。如果在mbox中删除文件才会彻底删除。
在linux文本命令平台输入 mail -f mbox,就可以看到当前目录下的mbox中的邮件了。
cd 改变当前所在文件夹的位置
写信时,连按两次Ctrl+C键则中断工作,不送此信件。
读信时,按一次Ctrl+C,退出阅读状态。
来自:http://blog.sina.com.cn/s/blog_408184cf01014uoq.html
名称:mail
格式:mail [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
说明:
mail对于系统管理者很有用,因为管理者可以用mail写成script ,定期寄一些备忘录提醒系统的使用者。
参数:
s 邮件标题。
c 抄送人邮件地址。
b 暗送邮件地址。
范例:
将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而 user2 没有主机位置,就会送给邮件伺服器的 user2 使用者。
mail user1@email.address
mail user1@email.address user2
将mail.txt 的内容寄给 user2 同时 抄送给 user1 。如果将这一行指令设成cronjob就可以定时将备忘录寄给系统使用者。
mail -s 标题 -c user1 user2 < mail.txt
1. 例如最简单的一个:
mail -s text zhousir1991@gmail.com
这条命令的结果是发一封标题为text的空信给后面的邮箱,但是往往这类邮件会被当成垃圾邮件来处理,所以如果没有收到邮件,建议打开垃圾箱来查看一下。
第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束
2. 第二个例子:
echo “This is a test mail!”|mail -s text zhousir1991@gmail.com#第二种方法,使用管道命令。
mail -s test zhousir1991@gmail.com < file
第三种方法,以file的内容为邮件内容发信,这个我个人现在用的比较多,因为在终端中写东西毕竟不是很方便,所以我还是会首先选择事先写好一个文档然后再mail过去。
3. 带附件的邮件发送(这是我想重点介绍的一个东西)
如果你的系统中没有uuencode命令的话,并且你已经配好了yum仓库;(yum仓库配置可以参看我的其他文档:http://www.cnblogs.com/zhousir1991/archive/2011/03/05/1971879.html)请先安装sharutils (yum install sharutils)
uuencode 需要两个参数,第一个是你要发送的文件,当然这个也可以用管道来做,第二个是显示的文件名
uuencode /home/zhousir/httpd.conf httpd.conf|mail -s mailtest zhousir1991@gmail.com
---------------------------
发现一个问题:
-bash: mail: command not found
呵呵,显然mailx没有安装,于是:
yum -y install mailx
然后whois命令也没有
yum -y install jwhois
tar czf - /home/zhousir/ | uuencode home.tgz |mail -s mailtest zhousir1991@gmail.com
ps: slackware下的mail好像有一个-a参数,可以直接添加附件,我没有用过。
转自:http://www.svn8.com/linux/accidence/20091016/10858.html
Linux下Mail命令收集:
“/var/spool/mail/[linux用户名]”文件中。
在linux中输入mail,就进行了收件箱,并显示二十封邮件列表。
此时命令提示符为"&"
unread 标记为未读邮件
h|headers 显示当前的邮件列表
l|list 显示当前支持的命令列表
?|help 显示多个查看邮件列表的命令参数用法
d 删除当前邮件,指针并下移。 d 1-100 删除第1到100封邮件
f|from 只显示当前邮件的简易信息。 f num 显示某一个邮件的简易信息
f|from num 指针移动到某一封邮件
z 显示刚进行收件箱时的后面二十封邮件列表
more|p|page 阅读当前指针所在的邮件内容 阅读时,按空格键就是翻页,按回车键就是下移一行
t|type|more|p|page num 阅读某一封邮件
n|next|{什么都不填} 阅读当前指针所在的下一封邮件内容
阅读时,按空格键就是翻页,按回车键就是下移一行
v|visual 当前邮件进入纯文本编辑模式
n|next|{什么都不填} num 阅读某一封邮件
top 显示当前指针所在的邮件的邮件头
file|folder 显示系统邮件所在的文件,以及邮件总数等信息
x 退出mail命令平台,并不保存之前的操作,比如删除邮件
q 退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,已阅读邮件会转存到当前用户家目录下的mbox文件中。如果在mbox中删除文件才会彻底删除。
在linux文本命令平台输入 mail -f mbox,就可以看到当前目录下的mbox中的邮件了。
cd 改变当前所在文件夹的位置
写信时,连按两次Ctrl+C键则中断工作,不送此信件。
读信时,按一次Ctrl+C,退出阅读状态。
来自:http://blog.sina.com.cn/s/blog_408184cf01014uoq.html
名称:mail
格式:mail [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
说明:
mail对于系统管理者很有用,因为管理者可以用mail写成script ,定期寄一些备忘录提醒系统的使用者。
参数:
s 邮件标题。
c 抄送人邮件地址。
b 暗送邮件地址。
范例:
将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而 user2 没有主机位置,就会送给邮件伺服器的 user2 使用者。
mail user1@email.address
mail user1@email.address user2
将mail.txt 的内容寄给 user2 同时 抄送给 user1 。如果将这一行指令设成cronjob就可以定时将备忘录寄给系统使用者。
mail -s 标题 -c user1 user2 < mail.txt
使用munin监控php apc状态
Php/Js/Shell/Go jackxiang 2012-11-23 23:21
1. 上传本文件apc_info.php(代码来源:munin-php-apc)到web目录,后缀名需要修改为php。一个建议是将其文件名修改为随机的字符串,防止别人猜到或意外踩到。
2. 将以下代码加入到munin配置文件中:
[php_apc_*]
user root
env.url http://www.example.com/apc_info.php?auto
3. 上传文件php_apc_到munin的plugins目录.请去除后缀名.txt。 一般在/usr/share/munin/plugins/.并修改其权限为755.
4. apc_php可以提供6个类型的报表,为此,我们需要在munin的配置目录下,建立6个软连接指向到apc_php_
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_files
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_fragmentation
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_hit_miss
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_purge
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_rates
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_usage
5. 重启munin node,在下次更新后,将在munin的html中看到php apc的状态信息图表。
sudo /etc/init.d/munin-node restart
2. 将以下代码加入到munin配置文件中:
[php_apc_*]
user root
env.url http://www.example.com/apc_info.php?auto
3. 上传文件php_apc_到munin的plugins目录.请去除后缀名.txt。 一般在/usr/share/munin/plugins/.并修改其权限为755.
4. apc_php可以提供6个类型的报表,为此,我们需要在munin的配置目录下,建立6个软连接指向到apc_php_
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_files
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_fragmentation
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_hit_miss
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_purge
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_rates
ln -s /usr/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_usage
5. 重启munin node,在下次更新后,将在munin的html中看到php apc的状态信息图表。
sudo /etc/init.d/munin-node restart
做为网站前台设计人员我们经常用到IETester,因为他可以帮助我们测试各个浏览器之间兼容情况我们可以及时进行DIV+CSS调整,所有浏览器中恐怕IE6最烦人的,但是它的用户群却不少,我们可能在用IETester测试IE6时,有时候发现它并不能完全模拟IE6环境是有差别的,如果安装一个xp虚拟机(Xp系统自带IE6)来测不就行了。但是你知道如何用WIN7自带的xp虚拟机嘛?不知道请看下面。
1, 打开windows下载中心:http://www.microsoft.com/china/windows/virtual-pc/download.aspx下载:Windows XP Mode 和 Windows Virtual PC 选择你当前win7的版本和语言。这里我以简体中文旗舰版为例。
选定后,根据提示,分别下载windows xp mode(560M左右)和Windows Virtual PC(约10M).
2、下载好两个文件后,首先运行Windows XP Model 的安装文件:“WindowsXPMode_zh-cn.exe”
阅读全文
1, 打开windows下载中心:http://www.microsoft.com/china/windows/virtual-pc/download.aspx下载:Windows XP Mode 和 Windows Virtual PC 选择你当前win7的版本和语言。这里我以简体中文旗舰版为例。
选定后,根据提示,分别下载windows xp mode(560M左右)和Windows Virtual PC(约10M).
2、下载好两个文件后,首先运行Windows XP Model 的安装文件:“WindowsXPMode_zh-cn.exe”
阅读全文
Chrome 浏览器作为完全独立开发的浏览器,为什么他的代理服务器设置还是用的是 IE 的?
Google Chrome浏览器唯一让我不爽的一点就是Windows版本的代理服务器是调用了Internet网络连接属性中的代理服务器,而非像Firefox那样可以独立设置自己的代理服务器。其弊端在于一旦设置,IE浏览器都会变成使用这个代理了,但往往我们只希望只是在Google Chrome谷歌浏览器上使用当前的代理。
如果想要给Google Chrome谷歌浏览器单独设置代理服务器,可采用自己手动加参数的方法实现。如下:
右键系统桌面或快捷工具栏上Google Chrome快捷方式图标——属性——快捷方式——目标,在最后增加“ --proxy-server=202.116.0.188:3128”参数,注意最前面要加一个空格,等号后面是代理服务器IP及其端口。这样,启动Google Chrome后则无视IE的代理设置而强制使用参数后面设置的代理。修改后目标参数的形式如下:
"C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --proxy-server=202.116.0.188:3128
如果是设置SOCKS代理服务器,则参数为:“ --proxy-server=socks5:// 202.116.0.188:3128”,服务器IP和端口仅为举例之用,实际使用中请将IP和端口改为相应的数值。
上述方法只是临时应急用的雕虫小技,最直接最方便的途径还是安装一个Google Chrome的代理软件扩展程序Proxy Switchy!,支持多种代理方式,可以快速切换代理,是居家旅行代理上网之必备插件。
Chrome 浏览器作为完全独立开发的浏览器,为什么他的代理服务器设置还是用的是 IE 的?谷歌是基于哪方面的考虑?
使用扩展Proxy SwitchySharp就可以设置独立的代理。
Google Chrome浏览器唯一让我不爽的一点就是Windows版本的代理服务器是调用了Internet网络连接属性中的代理服务器,而非像Firefox那样可以独立设置自己的代理服务器。其弊端在于一旦设置,IE浏览器都会变成使用这个代理了,但往往我们只希望只是在Google Chrome谷歌浏览器上使用当前的代理。
如果想要给Google Chrome谷歌浏览器单独设置代理服务器,可采用自己手动加参数的方法实现。如下:
右键系统桌面或快捷工具栏上Google Chrome快捷方式图标——属性——快捷方式——目标,在最后增加“ --proxy-server=202.116.0.188:3128”参数,注意最前面要加一个空格,等号后面是代理服务器IP及其端口。这样,启动Google Chrome后则无视IE的代理设置而强制使用参数后面设置的代理。修改后目标参数的形式如下:
"C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --proxy-server=202.116.0.188:3128
如果是设置SOCKS代理服务器,则参数为:“ --proxy-server=socks5:// 202.116.0.188:3128”,服务器IP和端口仅为举例之用,实际使用中请将IP和端口改为相应的数值。
上述方法只是临时应急用的雕虫小技,最直接最方便的途径还是安装一个Google Chrome的代理软件扩展程序Proxy Switchy!,支持多种代理方式,可以快速切换代理,是居家旅行代理上网之必备插件。
Chrome 浏览器作为完全独立开发的浏览器,为什么他的代理服务器设置还是用的是 IE 的?谷歌是基于哪方面的考虑?
使用扩展Proxy SwitchySharp就可以设置独立的代理。
截至目前:所有的行业都是娱乐业,因为娱乐业是最靠体验的,是大众的,没有抓到用户本质的东西需求,所有离开了用户需求的用户体验改进都是耍流氓。---提炼By Jack.
没有抓到用户本质的东西需求,所有离开了用户需求的用户体验改进都是耍流氓。所有的行业都是娱乐业,因为娱乐业是最靠体验的,我们在日常生活中,卖一瓶 水,你喝了你有体验,反正能解渴,不超出体验,好歹有一个东西,但是花70元看一场电影,在拉斯维加斯看一场秀,得到了什么,什么都没买到,买到的是一个 标准体验,所有电影、所有秀能不能成功,在于能不能给你一个巨大的情感冲击。
这个用户体验广义来说不仅仅是我刚才说的体检、开机加速、一键优化,最重要的体验是什么?给用户超出预期的体验是免费,商业模式颠覆不错,但是马后 炮,对用户来说不管什么商业模式,你怎么赚钱我不管,我知道我过去花一两百买一套杀毒,周鸿祎给我免费了,不仅免费,还是终身免费,永远免费,当时杀毒厂 商说我们降价一半,我们变得更便宜,这个不叫超出预期,只是说在不断的改善,只有彻底免费才叫超出预期。
如何在众多的功能中找到一 个点作为突破点,再大的一个市场也需要一个针尖一样点的做切入,所有成功的产品都要找到一个点,通过聚焦,把有限的资源聚焦到一个点上,才能形成压强...
当年百度超越谷歌的时候,百度在刚起步的时候,真的搜索技术比谷歌做得好?不是,是因为MP3搜索,会听到很多民工级用户在交流的时候,不会说我去 用一个搜索引擎,会说有一个网站上面可以免费听歌,可以免费下歌,如果能听到用户这样的声音,就恭喜你,说明你找到了一个值得聚焦的一个点,因为这是用户 关心的。
对微信的描述,特别是目前阶段用户的心理,那种空虚等,表述清楚明晰。
对搜索的抨击...
运用老毛的:伤其十指,不如断其一指...
什么叫超出预期,只有彻底免费才叫超出预期。那目前有没有什么东东自己能做到超出预期呢?这些都是作为一个技术人员的产品经理能,也有可能做到的,需要思考....
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
阅读全文
没有抓到用户本质的东西需求,所有离开了用户需求的用户体验改进都是耍流氓。所有的行业都是娱乐业,因为娱乐业是最靠体验的,我们在日常生活中,卖一瓶 水,你喝了你有体验,反正能解渴,不超出体验,好歹有一个东西,但是花70元看一场电影,在拉斯维加斯看一场秀,得到了什么,什么都没买到,买到的是一个 标准体验,所有电影、所有秀能不能成功,在于能不能给你一个巨大的情感冲击。
这个用户体验广义来说不仅仅是我刚才说的体检、开机加速、一键优化,最重要的体验是什么?给用户超出预期的体验是免费,商业模式颠覆不错,但是马后 炮,对用户来说不管什么商业模式,你怎么赚钱我不管,我知道我过去花一两百买一套杀毒,周鸿祎给我免费了,不仅免费,还是终身免费,永远免费,当时杀毒厂 商说我们降价一半,我们变得更便宜,这个不叫超出预期,只是说在不断的改善,只有彻底免费才叫超出预期。
如何在众多的功能中找到一 个点作为突破点,再大的一个市场也需要一个针尖一样点的做切入,所有成功的产品都要找到一个点,通过聚焦,把有限的资源聚焦到一个点上,才能形成压强...
当年百度超越谷歌的时候,百度在刚起步的时候,真的搜索技术比谷歌做得好?不是,是因为MP3搜索,会听到很多民工级用户在交流的时候,不会说我去 用一个搜索引擎,会说有一个网站上面可以免费听歌,可以免费下歌,如果能听到用户这样的声音,就恭喜你,说明你找到了一个值得聚焦的一个点,因为这是用户 关心的。
对微信的描述,特别是目前阶段用户的心理,那种空虚等,表述清楚明晰。
对搜索的抨击...
运用老毛的:伤其十指,不如断其一指...
什么叫超出预期,只有彻底免费才叫超出预期。那目前有没有什么东东自己能做到超出预期呢?这些都是作为一个技术人员的产品经理能,也有可能做到的,需要思考....
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
阅读全文
[PHP代理]用php实现proxy功能的示范及 PHP CURL 模拟提交(支持代理)
Php/Js/Shell/Go jackxiang 2012-11-20 21:31
用php实现proxy功能的示范
刚刚写的练手的作品。感觉还是有些实用价值的。。放出来给大家试试。
功能:通过php实现代理功能
适用用户:在家下载较慢。且懒得找proxy。且有高速主机,且主机有php,且主机支持socket。
使用方法:
1。把本程序传到主机上
2。通过浏览器浏览主机上的此文件
3。在url中填入欲下载的文件地址(如果有必要,可以填入referer)
4。点击get proxy url
5。新打开的页面中的链接即为通过proxy下载的链接
注意:
1。支持多线程下载,断点续传
2。仅支持http协议
3。不支持服务器端header重定向
4。不支持http auth
5。下载较大的文件时,可以修改程序中set_time_limit的值,以减少断线的现象(默认为180,即3分钟)
阅读全文
刚刚写的练手的作品。感觉还是有些实用价值的。。放出来给大家试试。
功能:通过php实现代理功能
适用用户:在家下载较慢。且懒得找proxy。且有高速主机,且主机有php,且主机支持socket。
使用方法:
1。把本程序传到主机上
2。通过浏览器浏览主机上的此文件
3。在url中填入欲下载的文件地址(如果有必要,可以填入referer)
4。点击get proxy url
5。新打开的页面中的链接即为通过proxy下载的链接
注意:
1。支持多线程下载,断点续传
2。仅支持http协议
3。不支持服务器端header重定向
4。不支持http auth
5。下载较大的文件时,可以修改程序中set_time_limit的值,以减少断线的现象(默认为180,即3分钟)
阅读全文
XP是支持显示的,但需要自己设置下:
1. 点击“开始”菜单→“设置→控制面板”,找到并双击“区域与语言选项”图标
2. 然后,在弹出的设置窗口中点击“区域选项”标签→“自定义”按钮
3. 接着,点击“自定义区域选项”窗口中的“日期”标签,在最下面的“长日期格式”里面加上字母 dddd, 或者选择带有dddd的一项
4. 最后,点击“确定”按钮退回到控制面板。此时再将鼠标悬停到时钟上时,您便会惊喜得发现,此时的系统时钟已经可以提示当天的星期了.
-------------------
我刚才也是发现了这个问题去调的,这个步骤绝对没错。
dddd就是星期
我在论坛后期弄过,可以确认的。
示例截图:
http://wenku.baidu.com/view/06e0f52c915f804d2b16c122.html
1. 点击“开始”菜单→“设置→控制面板”,找到并双击“区域与语言选项”图标
2. 然后,在弹出的设置窗口中点击“区域选项”标签→“自定义”按钮
3. 接着,点击“自定义区域选项”窗口中的“日期”标签,在最下面的“长日期格式”里面加上字母 dddd, 或者选择带有dddd的一项
4. 最后,点击“确定”按钮退回到控制面板。此时再将鼠标悬停到时钟上时,您便会惊喜得发现,此时的系统时钟已经可以提示当天的星期了.
-------------------
我刚才也是发现了这个问题去调的,这个步骤绝对没错。
dddd就是星期
我在论坛后期弄过,可以确认的。
示例截图:
http://wenku.baidu.com/view/06e0f52c915f804d2b16c122.html
遇到类似问题,最后得以解决:
单击“开始--运行”,输入“gpedit.msc",进入用户配置》管理模板》开始菜单和任务栏,
找到 “删除并阻止访问 ‘关机’‘重新启动’ ‘睡眠’ 和 ‘休眠’命令”
进行策略设置,改为 禁用 就行了。
单击“开始--运行”,输入“gpedit.msc",进入用户配置》管理模板》开始菜单和任务栏,
找到 “删除并阻止访问 ‘关机’‘重新启动’ ‘睡眠’ 和 ‘休眠’命令”
进行策略设置,改为 禁用 就行了。
常用关机有两种情况,如下所示:
一、比如你想30秒后关机,那就
shutdown -s -t 30
shutdown -s -t 后面应该跟个时间
注意后面的数字就是表示秒的意思,而且t和数字之间要有空格
例子:3320 秒后关机:
C:\Users\jackX>shutdown -s -t 3320
已经计划系统关机。(1190)
二、定确定时间关机:
Egg:
From:http://blog.csdn.net/u013553529/article/details/78140297
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\admin>at 20:00 Shutdown -s
新加了一项作业,其作业 ID = 2
C:\Users\admin>
---
Ps:注意要有一个返回才能正常关机:新加了一项作业,其作业 ID = 2。 否则看服务是否打开,见下面叙述。
shutdown -a 是取消命令。
比如你的电脑要在22:00关机,可以选择“开始→运行”,输入“at 22:00 Shutdown -s”,
这样,到了22点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工
作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 3600”,这里表示60
分钟后自动关机,“3600”代表60分钟。
设置好自动关机后,如果想取消的话,可以在运行中输入“shutdown -a”。另外输入
“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。
Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如
“-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数,大家
可以在Shutdown.exe中按需使用。
注意:要打开“任务计划”必须先确认Task Scheduler服务已经启动(系统默认情况下是自动启动的),否则,打不开“任务计划”。
1)cmd 下输入 services.msc -->scheduler ...
2)windows图标+R 输入:services.msc -->scheduler ...
注意二:
win7 系统 关机就变成注销 自动回到登录界面:
遇到类似问题,最后得以解决:
单击“开始--运行”,输入“gpedit.msc",进入用户配置》管理模板》开始菜单和任务栏,
找到 “删除并阻止访问 ‘关机’‘重新启动’ ‘睡眠’ 和 ‘休眠’命令”
进行策略设置,改为 禁用 就行了。
一、比如你想30秒后关机,那就
shutdown -s -t 30
shutdown -s -t 后面应该跟个时间
注意后面的数字就是表示秒的意思,而且t和数字之间要有空格
例子:3320 秒后关机:
C:\Users\jackX>shutdown -s -t 3320
已经计划系统关机。(1190)
二、定确定时间关机:
Egg:
From:http://blog.csdn.net/u013553529/article/details/78140297
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\admin>at 20:00 Shutdown -s
新加了一项作业,其作业 ID = 2
C:\Users\admin>
---
Ps:注意要有一个返回才能正常关机:新加了一项作业,其作业 ID = 2。 否则看服务是否打开,见下面叙述。
shutdown -a 是取消命令。
比如你的电脑要在22:00关机,可以选择“开始→运行”,输入“at 22:00 Shutdown -s”,
这样,到了22点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工
作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 3600”,这里表示60
分钟后自动关机,“3600”代表60分钟。
设置好自动关机后,如果想取消的话,可以在运行中输入“shutdown -a”。另外输入
“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。
Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如
“-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数,大家
可以在Shutdown.exe中按需使用。
注意:要打开“任务计划”必须先确认Task Scheduler服务已经启动(系统默认情况下是自动启动的),否则,打不开“任务计划”。
1)cmd 下输入 services.msc -->scheduler ...
2)windows图标+R 输入:services.msc -->scheduler ...
注意二:
win7 系统 关机就变成注销 自动回到登录界面:
遇到类似问题,最后得以解决:
单击“开始--运行”,输入“gpedit.msc",进入用户配置》管理模板》开始菜单和任务栏,
找到 “删除并阻止访问 ‘关机’‘重新启动’ ‘睡眠’ 和 ‘休眠’命令”
进行策略设置,改为 禁用 就行了。
想在我的博客上加上这个lazy技术,呵呵。
---
在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占了几百K的空间。Lazy Load 是一个用 JavaScript 编写的 jquery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的。
在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担,这样势必会引起速度上质的提升。
兼容:ie6/7/8, firefox 3.5.5, opera 10.10, safari 4.0.4, chrome 3.0其中safari和chrome部分功能不支持。
原文的链接在:http://www.appelsiini.net/projects/lazyload
Lazy Load jQuery 插件:http://www.a-shun.com/archives/21363.html
http://dynamiclu.iteye.com/blog/622101
---
在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占了几百K的空间。Lazy Load 是一个用 JavaScript 编写的 jquery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的。
在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担,这样势必会引起速度上质的提升。
兼容:ie6/7/8, firefox 3.5.5, opera 10.10, safari 4.0.4, chrome 3.0其中safari和chrome部分功能不支持。
原文的链接在:http://www.appelsiini.net/projects/lazyload
Lazy Load jQuery 插件:http://www.a-shun.com/archives/21363.html
http://dynamiclu.iteye.com/blog/622101
$('>div')这样写表示的是 :获取 body 标签下所有第一级子元素中的 div 元素 ,如果没有 ">",则表示的是获取页面中所有的 div 元素
prev + next和prev ~ siblings感觉都一样,好像找不出区别,朋友们帮忙用个例子帮忙解释下吧,谢谢了
呵呵,很简单的用英文都可以帮你解决。next是下一个的意思 siblings是兄弟姐妹的意思。前者是单数,后者是复数。也就是说使用+这个符号就说明选择 元素之后的一个,是一个元素,而使用~,则是选择元素之后的所有同辈元素,是之后、所有。
通过Demo理解更容易:
元素里所有后代
父元素下的子元素
这到底区别在哪儿啊:-)
----------------------------
父元素下的子元素
<div class="a"><p class ="b"></p></div>
只能取出a下的B
后代元素 就是a下的所有的 包括孙子 重孙子
也就是这个子也就是一个层级(儿子,不包孙子),而所有的后代:就是里面有儿子孙子,曾孙,那jonhsion说的这个<div>下的后代可以是<p >了是吧?
嗯,是!
参考: http://blog.sina.com.cn/s/blog_79333b2c0100xx95.html (该Url里面图来自:锋利的Jquery)
http://jqapi.com
jQuery-find和children方法:
1.children(“condition”) 获取的是一级子元素。
2.find("condition")获取包含的所有子元素。
$("#cn_list > .cn_page > .curr").children("h4").find("a").text()
$("#cn_list > .cn_page > .curr > h4").find("a").text()
prev + next和prev ~ siblings感觉都一样,好像找不出区别,朋友们帮忙用个例子帮忙解释下吧,谢谢了
呵呵,很简单的用英文都可以帮你解决。next是下一个的意思 siblings是兄弟姐妹的意思。前者是单数,后者是复数。也就是说使用+这个符号就说明选择 元素之后的一个,是一个元素,而使用~,则是选择元素之后的所有同辈元素,是之后、所有。
通过Demo理解更容易:
元素里所有后代
父元素下的子元素
这到底区别在哪儿啊:-)
----------------------------
父元素下的子元素
<div class="a"><p class ="b"></p></div>
只能取出a下的B
后代元素 就是a下的所有的 包括孙子 重孙子
也就是这个子也就是一个层级(儿子,不包孙子),而所有的后代:就是里面有儿子孙子,曾孙,那jonhsion说的这个<div>下的后代可以是<p >了是吧?
嗯,是!
参考: http://blog.sina.com.cn/s/blog_79333b2c0100xx95.html (该Url里面图来自:锋利的Jquery)
http://jqapi.com
jQuery-find和children方法:
1.children(“condition”) 获取的是一级子元素。
2.find("condition")获取包含的所有子元素。
$("#cn_list > .cn_page > .curr").children("h4").find("a").text()
$("#cn_list > .cn_page > .curr > h4").find("a").text()
Nginx 499错误的原因及解决方法
打开Nginx的access.log发现在最后一次的提交是出现了HTTP1.1 499 0 -这样的错误,在百度搜索nginx 499错误,结果都是说客户端主动断开了连接。
但经过我的测试这显然不是客户端的问题,因为使用端口+IP直接访问后端服务器不存在此问题,后来测试nginx发现如果两次提交post过快就会出现499的情况,看来是nginx认为是不安全的连接,主动拒绝了客户端的连接.
但搜索相关问题一直找不到解决方法,最后终于在google上搜索到一英文论坛上有关于此错误的解决方法。
proxy_ignore_client_abort on;
Don’t know if this is safe.
说要配置proxy_ignore_client_abort on;
意思代理服务端不要主要主动关闭客户端连接。
配置重启nginx,问题果然得到解决。只是安全方面稍有欠缺,但比总是出现找不到服务器好多了。
还有一种原因是 我后来测试发现 确实是客户端关闭了连接,或者说连接超时 ,无论你设置多少超时时间多没用 原来是php进程不够用了 改善一下php进程数 问题解决 默认测试环境才开5个子进程.
来源:http://blog.517car.com/2012/08/04/nginx-499%E9%94%99%E8%AF%AF%E7%9A%84%E5%8E%9F%E5%9B%A0%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/
打开Nginx的access.log发现在最后一次的提交是出现了HTTP1.1 499 0 -这样的错误,在百度搜索nginx 499错误,结果都是说客户端主动断开了连接。
但经过我的测试这显然不是客户端的问题,因为使用端口+IP直接访问后端服务器不存在此问题,后来测试nginx发现如果两次提交post过快就会出现499的情况,看来是nginx认为是不安全的连接,主动拒绝了客户端的连接.
但搜索相关问题一直找不到解决方法,最后终于在google上搜索到一英文论坛上有关于此错误的解决方法。
proxy_ignore_client_abort on;
Don’t know if this is safe.
说要配置proxy_ignore_client_abort on;
意思代理服务端不要主要主动关闭客户端连接。
配置重启nginx,问题果然得到解决。只是安全方面稍有欠缺,但比总是出现找不到服务器好多了。
还有一种原因是 我后来测试发现 确实是客户端关闭了连接,或者说连接超时 ,无论你设置多少超时时间多没用 原来是php进程不够用了 改善一下php进程数 问题解决 默认测试环境才开5个子进程.
来源:http://blog.517car.com/2012/08/04/nginx-499%E9%94%99%E8%AF%AF%E7%9A%84%E5%8E%9F%E5%9B%A0%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/
[拉起服务]linux 进程管理daemontools svscan
Unix/LinuxC技术 jackxiang 2012-11-12 13:46
daemontools是一个管理UNIX下服务的工具集。 supervise监视一个服务。它启动一个服务、当服务停掉时它会重起
服务。安装一个supervise是极其简单的,你仅仅需要一个包含运行服务
的脚本的目录。
multilog保存报错信息和一个或多个log。它可以随意的加上时
间戳,对于每个log可以设定任意一行是否符合预定样式。他可以循环的纪
录log以限制磁盘空间的使用。当磁盘空间不足时,它会停止并重试,而不
会丢弃任何信息。
mkdir /package
chmod 1755 /package
cd /package
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar zxf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
(打开src/error.h 找到:extern int errno; 改成:#include <errno.h>)
package/install
会生成自己的安装目录daemontools
同时 有/server 目录 所需要监控的放在server目录即可
卸载 将所有的直接删除即可
使用的Url:http://blog.jianingy.com/tag/daemontools/
服务。安装一个supervise是极其简单的,你仅仅需要一个包含运行服务
的脚本的目录。
multilog保存报错信息和一个或多个log。它可以随意的加上时
间戳,对于每个log可以设定任意一行是否符合预定样式。他可以循环的纪
录log以限制磁盘空间的使用。当磁盘空间不足时,它会停止并重试,而不
会丢弃任何信息。
mkdir /package
chmod 1755 /package
cd /package
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar zxf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
(打开src/error.h 找到:extern int errno; 改成:#include <errno.h>)
package/install
会生成自己的安装目录daemontools
同时 有/server 目录 所需要监控的放在server目录即可
卸载 将所有的直接删除即可
使用的Url:http://blog.jianingy.com/tag/daemontools/