记录当前磨途歌使用的开源技术
[文章作者:磨延城 转载请注明原文出处: https://mo2g.com/view/89/ ]
磨途歌从正式上线到现在,快半年了,运行期间有过很多调整跟优化,可以说是想到什么就添加功能.现在有时间,就记录一下当前使用了哪些程序实现哪些功能,防止某一天,网站被黑了或是阿里云服务器崩溃了,产生的麻烦.
磨途歌从正式上线到现在,快半年了,运行期间有过很多调整跟优化,可以说是想到什么就添加功能。现在有时间,就记录一下当前使用了哪些程序实现哪些功能,防止某一天,网站被黑了或是阿里云服务器崩溃了,产生的麻烦。
系统用的是centos,web服务器使用nginx,数据库换成了MariaDB,服务器端主要的开发语言为PHP,PHP框架用的自己写的mPHP。基本上,这就是大家熟悉的lnmp架构了,安装详情。
git:代码版本控制器,用来更新并备份服务器上源代码。
xcache:PHP的opcode缓存器、优化器,提高PHP程序的响应速度。(更换Opcache)
memcached:其实,我的服务器已经装上了这个软件,并且也写好了相应的缓存机制,只是我在这里建议大家,等自己真正感受到网站的瓶颈,受制于硬盘 的读写速度的时候,再去启用内存缓存机制,这样才能让自己的网站优化之路不会有任何遗憾,不然你每天都听谁谁谁说什么瓶颈,什么读写分离,自己还是云里雾里的。(更换阿里云OSC)
邮件功能:网站运行了一段时间,就有网友反映,自己的留言有了回复,但没有反馈。这就需要添加反馈功能,让用户第一时间知道自己有新的回复,提高网站的用户粘度,我就写了一个邮件模块emailModel.php,配合QQ的域名邮箱,收发邮件。(更换postfix邮件服务,只发信,不收信)
搜索功能:随着网站的文章越来越多,要想让网友快速的找到自己想看的文章,就需要搜索功能。mysql原生的like匹配效率是个历史问题,后来发现sphinx这个神奇的软件,它能很好的实现搜索功能,再配合中文分词软件,现在的搜索功能更加智能了。
队列功能:当网站的某一项操作比较费时但不需要立即完成时(比如发邮件、图片处理、数据库插入等),队列功能就显得很重要了,回想一下自己是否有过提交了一个页面,但网页的加载符号在那转半天没反应,队列机制能很大程度上加快程序的相应时间。于是又研究安装用了httpsqs—— 一个轻量级的开源队列软件。
微信功能:一开始是想通过微信来提高网站的交互性及用户粘度,所以根据微信官网开发了相应的模块,但由于微信认证机制的限制,很多API接口没有使用权限,所以目前只有磨途歌的留言板跟微信互通了。
CDN加速:很早以前,我就写过一篇文章做了分析,可以点击这里查看详情。在互联网的世界里,服务器的带宽永远不够用。如果把静态资源跟提供web服务的服务器分离开,就能缓解主服务器的带宽压力,网站的响应速度会有一个新的提升。(再配合图片按需加载的技术,效果会更好)。
html5:最近学习了html5的canvas知识,就在留言区新增加了画板留言模式。由于低版本的浏览器不支持html5,所以我用js做了相应的判断,以保证留言功能的用户体验。后续我会继续完善画板模式,预计会增加消撤、还原、橡皮擦等功能。相关文章《基于html5的canvas+jQuery实现的手写留言板》。
swoole拓展:这是一个PHP拓展,使用纯C编写,不依赖其他第三方库。性能强悍,跟php-fpm不再一个数量级,mPHP目前已经兼容swoole拓展。
先记录这些,其他的以后想到了再更新上来。
我来说两句: