迁离SAE系列:定时任务篇
在进行网站开发的时候,我们可能会需要定时处理一些任务。比如,定时检查长期不登录的用户然后发邮件去鼓励用户登录,定时备份数据库,定时给女朋友好基友发短信等等。SAE有提供CRON服务,可以以http的方式触发你的PHP脚本从而执行定时任务。在普通服务器环境里,我们可以利用linux服务器的crontab来实现定时任务。此外,本文在后面还会介绍一种“定时任务单文件入口”的偏门方法。
在进行网站开发的时候,我们可能会需要定时处理一些任务。比如,定时检查长期不登录的用户然后发邮件去鼓励用户登录,定时备份数据库,定时给女朋友好基友发短信等等。SAE有提供CRON服务,可以以http的方式触发你的PHP脚本从而执行定时任务。在普通服务器环境里,我们可以利用linux服务器的crontab来实现定时任务。此外,本文在后面还会介绍一种“定时任务单文件入口”的偏门方法。
开发PHP项目时,我们经常采用单文件入口,让所有的页面请求都经过index.php。而要实现这功能,我们需要URL重定向,把请求都重定向到index.php文件去。
SAE的config.yaml文件提供的重定向功能满足了此需求,而对于一般的服务器,则需要视相应的WEB服务器软件而定。这里以apache为例,采用htaccess文件实现此功能。
有时候,我们需要想用户发送邮件。如注册邮箱验证、审核结果邮件等。如果是需要群发大量邮件,我更建议使用sendcloud。然而我在这里只讨论小型网站发少量邮件的问题。SAE平台本身带有mail服务,开发者使用SAE的mail Api来发送邮件也蛮方便。当我们迁移网站到普通PHP环境时,可考虑用其他替代品。
网站安全是个复杂问题。本文只简单地讨论防止暴力破解的情况。要区分是人类还是机器人,我们就要出一些识别手段,使得它只有人类才能操作而机器人无法操作。最简单最主流的解决方法便是验证码。在需要安全性验证的地方,加上一层验证码验证,保证它对于人类来说是容易看出来的而程序是难以识别的。当验证码越复杂,机器人就越难破解。
网站程序里的css,js等静态文件直接上传到SAE的代码空间,便能获取到不错的速度。然而,如果我们把网站(特别是访问量高的网站)迁移到独立服务器,这些静态文件将会极大地消耗磁盘读写,同时增大并发请求,容易形成阻塞。
因此我们需要把静态资源(如css、js等)和文件储存放在第三方的云储存上
一,前言: 新浪云计算平台SAE更改了计费策略后,新的计费策略使得网站运行的成本越来越高,于是很多开发者包括本人都准备把应用和网站迁离SAE平台了。然而SAE平台跟普通PHP环境始终有区别。特别是当你的应用使用到SAE的一些云服务的时候,此时要迁移就必须改动下代码。本人将整理下自己迁离的一些经验,分享出来,希望对需要的人有帮助。
一,介绍Ionic Ionic是一个前端的框架,帮助开发者使用HTML5, CSS3和JavaScript做出原生应用。有了ionic, 我们就可以使用HTML5、javascript(angular)和css(sass)开发android和ios应用。
1,介绍Vagrant 我们做web开发的时候经常要安装各种本地测试环境,比如apache,php,mysql,redis等等。出于个人使用习惯,可能我们还是比较习惯用windows。虽然说在windows下搭建各种开发环境是可行的,各大开发环境都有windows版本。然而在windows下配置有时候会显得繁琐,并且还会导致开发环境(windows)和生产环境(lunix)不一致。 能不能在win […]
若使用常规命令安装php的话,centos默认只安装php5.3。但有时候我们必须要升级到php5.4以上才行。下面记录下升级过程。 1,首先停止nginx(如果是安装apache的则停止apache) service nginx stop service php-fpm stop 2,卸载旧版php yum remove php yum remove php* yum remove php-* […]
mp3音乐盘是我约三年前写的一个开源小程序。麻雀虽小,但由于功能实用,所以还是受一些小站长欢迎的。我一直想重新整理下代码,整合下SAE和普通PHP环境,让同一份代码可以在SAE上运行也能在普通PHP环境下运行,同时增加简单的删除功能。大概两年前的时候我已经修改好,但一直放在一边没有公开。现在整理过去写过的代码的时候,决定把它放出来放在github上,希望对有需要的人有帮助。