标签存档: apache

Apache实现flv视频拖动

此文开始于一个部署前一天才通知的操蛋需求:flv视频播放必须可以托动播放。

本来略有所知,如果需要实现此类功能,必须架设一个流媒体服务器。Red5或者Helix无所谓,比较的麻烦,只有一晚上时间,没任何经验从头架设谈何容易,但是也得硬着头皮架,谁让需求赶到这儿了。

网上搜教程的时候发现有一篇帖子写到nginx可以实现流媒体服务器,写的还是挺靠谱的,正琢磨是不是装个nginx时候突然想到,如果nginx可以,那么已经使用的Apache是不是也可以?搜了一下果然存在~ 虽然帖子不多不过讲述的相当详细,过程也简单得多,使用的还是刚才已经研究了一阵子的flv播放器,不错~ 于是选定方案,一夜的煎熬开始。。。 继续阅读 »

关于apache别名路径设置

先汗自己一下,又差点兜了大圈子。。。

问题描述:由于生产环境积累了大量的上传视频和图片,如果要分离出一个测试环境和一个开发环境的话,复制这些上传文件的成本很高,现在想用改动最小的方法分离这些上传文件到一个公共位置,所有环境使用同一套上传文件。文件上传方面有统一的路径配置,改动量很小

方法一:我最原始想到的,不改变所有页面的访问链接,使用url重写将这些请求重定向给一个PHP文件,由它负责转译文件路径,取得并返回相应文件。这样只用增加一段转义代码,原来页面的路径不用改动。

弊端:使用php中转文件和直接的web server级别取得文件的性能差别是很大的,这种方法无形增加了很多系统压力,而且开发完备的转义器也是需要时间成本也有风险,所以其实是一个很操蛋的方案。

方法二:石工提出的,增加二级域名用于访问这些上传文件,所有的访问路径用统一的变量生成,修改一次以后便无后顾之忧。

弊端:仍然是修改量太大,所有的图片链接和视频链接全都需要修改,使用替代方法也存在风险,后果是未知的。

方法三:Jason提出的,使用别名的方式重定义具体关键路径的位置,所有代码都不用改动。

弊端:如果是在同一台服务器,已经是最完美的解决方案,改动量最小,风险最低,但是考虑到以后可能转移图片和视频到专门的服务器,所以这并不是一个可以兼容此种改动的方案,唯一的一点遗憾。另外一点就是需要修改httpd.conf,不知道算不算是缺点。

方法四:结合第一种的重写和第二种的二级域名,将符合一定模式的请求地址重写致其他地址,返回一个301将请求跳转致二级域名服务器。算是对方法三的一个扩展。

弊端:算是多一次请求吧,需要先等到一个301,但是只需要改动.htaccess,不必修改httpd.conf。这里就可以很灵活了,如果只有一台服务器,则结合方法三使用,如果有多台,那就正常进行处理。

总结:还是需要加深多apache功能的了解,很多问题是可以有更简单的解决方法,要多多权衡。