让Nginx支持pathinfo

Nginx服务器默认不支持pathinfo, 在需要pathinfo支持的程序中(如thinkphp),则无法支持”/index.php/Home/Index/index”这种网址.

网上流传的解决办法很多,这里提供一种比较简洁的写法(只需要改动2行代码)


# 典型配置
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;
    include        fastcgi_params;
}

# 修改第1,6行,支持pathinfo

location ~ \.php(.*)$ { # 正则匹配.php后的pathinfo部分
    root html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;
    fastcgi_param PATH_INFO $1; # 把pathinfo部分赋给PATH_INFO变量
    include        fastcgi_params;
}

Nginx+php-fpm 502 504问题

近期自学it论坛(www.zixue.it) 常出现502,504错误

环境:

主机: 阿里云 双核CPU 2G内存
OS: centos 6.4 64位

思路:

  • 增大nginx与php-fpm通信时的缓存文件大小与个数
  • 静态绑定5个php-fpm进程,减少频率启动进程的开销
  • 利用sock文件代替tcp端口通信(本地机约可提高10%的性能)

解决办法:

调整Nginx 和 php-fpm的参数如下


# nginx.conf location段
unix:/usr/local/php/var/run/php-fpm.sock

# fastcgi.conf 修改内容
fastcgi_buffers 32 128k;
fastcgi_buffer_size 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;

#php-fpm.conf
listen = /usr/local/php/var/run/php-fpm.sock
#提醒:别忘给php-fpm.sock加读写权限

pm = static # 静态绑定5个进程
pm.max_children = 5

效果:

论坛首页速度快了约30毫秒,且经过2周的临床观察,未再发生502 ,504错误

电梯历险记!

2014年9月22晚,19:20分左右, 我拿着笔记本回办公室,从12楼到15楼.

电梯向上到15楼,停稳后,门不开.
5秒钟后,电梯突然猛地一震,显示屏认着”E”–error, 电梯故障了.

想起前几天,某大学生在电梯中被夹死的事故,心中一紧—轮到我了!

开始按警铃,按了2分钟,没有任何响应—-这破写字楼,根本没人监控电梯运行!
想打手机,没有信号!!!
接着踢电梯门,踢了1分钟,有人路过,帮我去物业找人—-物业人员已下班!

从电梯门的细缝认真观看,电梯比楼层高了50厘米左右!
我想实在不行,就强行拉开电梯门(提醒,强拉电梯门非常危险,不到逼不得已别这样做)

又等了三分钟,不能坐以待毙了.
动手吧!
这电梯门,只需要1500斤的力量即可拉开.

十八哥自幼习武,南拳北腿,东枪西棍山东查,
后又修习密宗大力龙象般若功,力量自不必说!

左手伸,八百斤力量; 右手伸,千斤力量.
然而! 我左手捧着笔记本,只有右手可用,且需保持平衡,这无疑对十八哥存在巨大挑战.

十八哥每临大事有静气, 凝神呼吸,气沉丹田!
左手上的笔记本,上面还有一杯水,纹丝不动!

约摸过了一分钟,气息已通全身经脉,猛喊一声”开”, 腰胯叫力!
右臂肌肉狰狞突起,煞是骇人,电梯缓缓而开,大约40厘米.

这时十八哥背挤电梯右门,伸出左脚,蹬住左门,电梯全开.
一拧胯,右脚点地,一个燕子抄水,闪出电梯外!

笔记本上,水杯中洒出了几滴水—表现的不够完美…..

一次危险惊险度过,十八哥提醒大家,楼层不高,尽量步行楼梯吧,锻炼身体又安全!
电梯惊魂

我这么认真,就是为了争个输赢

3年前,2011年的的5月,我和女朋友还处于地下恋情阶段.

我和一个朋友打台球,赌一根球杆.
我输了,这口气一直在心里.

3年后,2014年的7月份,我和女朋友已经预定了婚纱照.

这位朋友从外地回到北京.
找我打球,说网上看到一把”四弦吉他”,非常漂亮.
要不两人出资买下来,下次打台球当奖品用,赢者拿走.

我说可以,但我赢了不要吉他,我要3年前输掉的那根杆.

我等了3年,就是要拿回我输掉的东西.

上午11点,黑八规则,抢11.
双方比分相近,到6:4, 我落后2局.
第11局,小心翼翼扳回1局,至6:5.
第12局,依然小心翼翼,保守的用球堵住了大部分袋口.

对方没有下球,我开始收球,清4颗后, 最后一颗花球在底袋,黑八在中袋上方.
我想一气清完,大力低杆,花球崩了出去.

快到手的6:6,成了7:5.
自己的心态受到了影响,后面几局打的很乱.
11:7输掉比赛.

时间是下午1点多,双方都很饿了.
我说:”要不再打一次. 如果你赢了,吉他的另一半钱也由我来付; 如果我赢了,我仍要那根球杆”.

继续开打.

比分继续紧咬,到9:8,对方领先1局.
第18局,我轻击仅剩的1颗目标球,意图对黑8造成斯诺.
但漏出一些距离,对方冒险长台攻底袋,黑8进,白球摔袋.
9:9平

对方的心态也发生了一些变化.
我趁势拿下最后2局, 11:9 结束.

冰镇矿泉水摆在座位上,怕拿在手上手湿,影响出杆,一滴未动.
我这么认真,就是为了争个输赢.

QQ图片20140804093824.jpg

JS游戏–别踩白块–教学视频

[自学it网 PHP就业班 课堂案例 ]

玩游戏,不如自己写游戏!
打开浏览器,打开编辑器(sublime,editplus,notepad都行),
花上2个小时,写个”别踩白块”玩一玩.

JS游戏_别踩白块(1) 思路分析.wmv
JS游戏_别踩白块(2) 框架搭建.wmv
JS游戏_别踩白块(3) 之随机黑白块.wmv
JS游戏_别踩白块(4) 方块动起来.wmv
JS游戏_别踩白块(5) 方块无缝滚动.wmv
JS游戏_别踩白块(6) 得分.wmv
JS游戏_别踩白块(7) 犯规处理.wmv
JS游戏_别踩白块(8) 隐蔽的bug.wmv
JS游戏_别踩白块(9) 自动加速.wmv

人生没有困难

我要告诉你一个秘密— 人生没有困难

我知道你会怀疑我的结论,因为人生困难重重,学习,生活,工作,感情,都随时会遇到困难,
为什么你说没有困难呢? 别怀疑,往下看:

几乎每一次开课时,我都要问班级的新同学一个问题: “你缺钱吗? 缺多少?”
大部分都是说:”1000元,下个月生活费不太宽裕”.
或是”差3000左右,因为想买个好点的笔记本”.
总之,缺钱的额度基本在一万以内.

其实,谁都缺钱,
同学们缺少学习及生活费用,1000元.
做小生意的缺少流动资金,10000元.
十八哥想买房,缺少1000000元
李嘉诚也缺钱啊…. 缺百来亿呢! 10000000000元!
李嘉诚都快把半个英国买下来了,能不缺钱吗….

看到了吗? —- 一个人,有多高的水平,就会遇到多大的困难.
水平越高,困难也越大.

就是说, 一个人的困难,与其水平是想匹配的,
反之,这个困难能被你碰到,说明困难的大小,必然在你能解决的水平范围内.

人其实很少能碰到超出自己水平很多倍的大困难,
比如说, 你暂时不会打算像李嘉诚那样收购英国的公司,从而缺上百亿资金对不对?

总结4点:
1: 人生充满困难.
2: 困难与你的水平相应,你肯定能够解决.
3: 如果碰到更大的困难,不要害怕,说明你已经进步了
4: 不会碰到解决不了的超大困难,因为你没那么高水平

所以, 很多同学问我:”老师,我找到一份7000元/月的工作,但我怕干不了怎么办啊?”
现在,你知道答案了吗?

你应该用3个小时学会编程

文章摘要:

人每天都在进行编程工作,编程对于人来说是很自然的.
你完全有能力在3个小时内学会编程.
也有必要闪电般的学会编程,以确认你是否喜欢这一行,并降低学习.
本文中的实验者–一个0基础的天津保安,
在上火车前的3小时,学会PHP留言本开发.

一:你高估了学习编程的难度.

大部分人在学习新事物前,倾向于把困难想像的很大.
这可以理解,因为人们恐惧新事物.
又常幻想几个月的卧薪尝胆学成后,就可以舒服拿高薪.

就是说,大部分人,夸大的前期的入门难度,而低估了长期学习的难度(如下图)

二: 外界夸大了学习编程的难度

不仅自己吓自己, 外界也有一原因,夸大了编程的难度.
从老鸟角度,喜欢打击新手,让新手膜拜,容易夸大难度.
从培训角度,夸大学习难度,拉长学习周期,收更多学费.

进而导致以讹传讹,把编程传的越来越难.
事实上,锐丽的一位女模特学python,很快入门,
并在github建立了项目;
还有一位律师学PHP,并出版了一本关于微信开发的书.

别听那些老鸟和培训机构的聒噪,大胆去学, 马上就能学会.

三: 事实上编程没那么难

人每天一睁开眼,就开始编程.
比如 起床,刷牙 — 顺序执行,
查看天气并决定是否带雨伞 – 选择执行
连续吃包子一直到饱 – 循环执行.

计算机编程,只是过是命令计算机干这几件事罢了.
把你的编程思路告诉计算机上, 就已经完成了编程.

因此,请坚信,你本来就会编程,也可以轻易入门.

四:你有必要快速学会编程

因为,
快速入门才能迅速确认你要不要在这个行业
快速入门才能为后面的长期学习增添信心
快速入门后,可以边工作边深入,降低学习成本

因此,请不要盲目报培训班去学五六个月,甚至一年, 然后发现自己不喜欢编程.
完成可以快速入门,再做决定.

五: 事实上也没那么简单

另一个普遍的学习误区则是 – 小看了后期长期学习的难度.
事实上,当你入门后,编程对你只是一个开始.
你想获得更广,更深的知识,则需要长久的磨练.才能超越他人,出类拔萃.
(学习难度见下图:)

六: 快在哪儿,慢在哪儿?

你是要做码农,还是要做工程师,还是专家?
你是要掌握技能,还是学习知识,还是做领域研究?
这决定了你的学习内容,学习时间,以及学习方式 (见下图)

七: 3小时PHP入门教学说明

本教程的学员为一位完全0基础的天津学员,
来北京学习前从事保安/操作工等工作.
经过3小时的学习,入门PHP,并可以写出留言本功能.
我想,你也不会差!

PHP3小时光速入门教程
下载地址: http://pan.baidu.com/s/1pGHc0
在线播放: http://study.163.com/course/introduction/462001.htm

我害怕充满激情的人

我害怕充满激情的人,充满激情的人,我往往避而远之.
曾有人和我谈一个项目,激情澎湃,我赶紧说”等你激情消退咱们再合作”.

为什么我怕有激情的人?

1: 有激情的人 制定的目标往往过大

激情让人兴奋,往往定下不切实际的目标.
激情让人盲目,只看到美好前程,不考虑其中可能碰到的困难.
画下一个超大的饼,没过两天啃不动了,扔下走人.

2: 激情很难长久.

“暴雨不终朝”,迅猛的东西,来势快,去势也快.
“天地尚不能久,况于人乎”.

激情的理想遇到平淡的现实, 原本激情的人容易失望.

3: 有激情的人 往往过于理想化,认为全世界都有激情.

最可怕的就是这一点—总认为周围人也应该和他一样有激情.

比如某人想凌晨4点起床跑步,更可怕的是,还想要宿舍的其他人都4点起,
你说这种人多可怕?

人有消极,积极,勇敢,怯懦,勤劳,懒惰,岂是一个模型?
择勇者使之战,择惰者使之守,各有用用途.

而激情者看到别人不如他有激情,则认为大家都在反对他,或者不配合他.
心有怨恨.

综上,我害怕有激情的人.
我们凡俗夫子,也不必像千里马一跃十步,
能像老黄牛一样,平平淡淡,功在不舍,也会做出自己的事业.

base64编码是怎么工作的?

按:在PHP中级班的课堂上,有位同学问这样一个问题:
“我在用 base64_encode 对用户名进行编码时,会出来等号,是不是可以去掉?”
跟我来看完这篇文章,答案即揭晓.

1: 为什么需要base64?

ASCII码一共规定了128个字符的编码,这128个符号,范围在[0,127]之间.
其中,[0,31],及127, 33个属于不可打印的控制字符.

在电子邮件传输信息时,有些邮件网关会把[0,31]这些控制字符给悄悄清除.
还有的早期程序,收到[128,255]之间的国际字符时,甚至会发生错误.

如何在不同邮件网关之间安全的传输控制字符,国际字符,甚至二进制文件?
于是作为MIME多媒体电子邮件标准的一部分—base64被开发出来.

2: 一句话说完base64怎么工作的?

把N字节的内容对应的8*N位, 每6位砍成1段,得到 (8*N)/6 个单元, »查看全文

Pages: Prev 1 2 3 4 5 6 7 8 Next