nginx

    nginx上传进度条

    05 Jun 2010

    项目中经常需要应用的功能之一就是文件上传,一般对于小文件来说不需要特别的处理,但是一旦碰到允许大尺寸文件上传的时候,用户常常会被长时间的没有变化的上传过程而迷惑,这种时候就需要一个上传进度条来提醒用户。比如我最近一个项目允许用户上传100M的视频文件,上传的过程往往需要持续10多分钟,这种情况如果没有进度条的话,用户可能会以为系统出问题了。项目部署的环境为nginx+lighttpd,上传的过程是这样的:

    1. 用户选择上传的视频,点击提交按钮

    2. nginx将视频文件的二进制数据保存为/tmp目录下面的某个文件

    3. lighttpd执行rails的代码对/tmp目录下面的上传文件进行处理

    由此可见,上传视频的过程都是由nginx进行处理的,lighttpd并不知情,它只能通过上传表单了解到上传到/tmp目录下的文件名,这样的好处是,费时的上传过程并不会消耗rails进程。所以我们在做上传进度条的时候就要在nginx身上下功夫了。

    google了一下,发现网上已经有了解决方案,http://github.com/drogus/jquery-upload-progress

    同时修改nginx配置文件 ,增加...

    Read More

    Tags 


    追踪图片在外部系统的查看次数

    20 May 2010

    随着sns网站和web api的兴起,与第三方网站的交互越来越多。比如我们可以向用户facebook好友上的wall推送数据等等来做网站的推广,这就引来一个问题,我们不能只傻乎乎地做推广,更重要的是统计推广的效果。你总共推送了多少数据,有多少人看到了这些数据,又有多少人点击来到了你的网站?这些数据都是可以用来帮助你改进和提高推广的效果。

    对于推送了多少数据和有多少人看到了这些数据,这两者比较容易做到,前者可以在推送数据的时候做记录,后者可以在用户点击进入网站的时候做记录。对于有多少人看到了这些数据就比较麻烦了。

    下面拿facebook为例介绍如何统计数据在外部系统的查看次数。如果是纯文字的话几乎没法做到,但是如果是推送图片或视频的话,可以通过图片的显示次数来统计数据。

    一般往facebook推送图片或视频等图片的时候,只需要在推送的参数中设置图片或视频的完整url即可。然后facebook在显示图片或视频的时候,会发送请求到服务器上,你只需...

    Read More

    Tags