分类目录归档:系统

nginx X-Accel-Redirect下载文件的应用

要做一个下载的程序,如果直接是一个真实的文件链接,那么下载就无法进行控制。 可以使用CGI程序将文件从服务器读出来,然后提交客户端下载。这个虽然可以在CGI程序里进行控制,但下载效率很低,对系统资源消耗高。最好的方法就是先用CGI程序控制文件的下载,然后将下载文件的任务交给web服务器。 下面就是我利用nginx做的一次实验。 X-Accel-Redirect:官方解释为http://wiki.nginx.org/NginxXSendfile 我在nginx的配置文件里,添加下面的配置信息: location /down { internal; alias C:/QMDownload/test; } 我的php代码为: header("Content-Type: application/force-download"); #表明是一个下载请求 header(’Accept-Range : byte ‘); #文件单位 header(’Accept-Length: 3428′); #文件长度 header(’Content-Disposition: attachment; filename=file.txt’);#文件名 header("X-Accel-Redirect: /down/file.txt"); #nginx重定向请求 在这个配置信息中: 第一行:表明监控/down的请求。 第二行:表示这是一个服务器内部请求,不会泄漏给客户端。 第三秆:别名,设置为文件存放的真实位置。 在PHP程序中:前面四行就是告诉浏览器,这是一个下载请求,文件大小,文件名。最后一行,就是使用X-Accel-Redirect告诉浏览器文件在服务器的位置。file.txt这个文件在我电脑的位置为:“C:/QMDownload/test”,php网站目录为:C:/nginx-0.9.4/html。 运行PHP时,X-Accel-Redirect会跳转文件到/down/file.txt,而在nginx里将down转换成内部路径C:/QMDownload/test,nginx就能直接读取到真实的文件路径“C:/QMDownload/test/file.txt”,并提交浏览器下载。

发表在 系统 | 留下评论

网站打不开了怎么办?

好好的网站忽然打不开了。昨天还能打开,今天就不行了。 如果打开网站出现“Bad Request (Invalid Hostname)”就说明,域名绑定了主机,但主机未绑定域名。进入主机管理后台,看看是不是域名绑定到期了,或者因为其它原因主机提供商禁止该域名绑定了。 如果出现“Service Temporarily Unavailable”意思就是:服务暂时不可用,可能是主机正在维护,或者是一时访问量过多,主机无法继续服务了。应该联系主机IDC。

发表在 系统 | 标签为 | 2 条评论

悲情,升级win 7的各种纠结

一开始试用的WIN 7是内部测试版,不能升级,也是我手贱,在24号这天下强制升级到正式版,结果原来的系统没了,安装新系统又显示找不到驱动设备。又换过新的ISO,但还一样的,各种错误。 其中还啃了下苹果,都怪自己当初错买了技嘉GA-M52L-S3主板,Realtek RTL820网卡死活不支持。还没声音 暂时对WIN 7死心了,ubuntu 9.10不是要出了吗?下个测试版用着。以后再说,反正对XP提不起兴趣了,不知道ubuntu 9.10有什么令人兴奋的新元素没。。。 2009-10-24于精英网吧。 PS:新超世网吧只能用于视频聊QQ,拷个文件都死机。

发表在 系统 | 标签为 | 留下评论