首先是俩故事:
好几年前,我还在上上家公司就职的时候,工作电脑是不连外网的,内网开发,真滴难受,查啥资料的时候,只能用手机。有啥不会的,查到代码了,只能对着一个一个敲。
有一天,俺们接待了一个客户,想给他看我们新产品的的宣传视频,但是视频刚弄好,还在内网,他们坐在会议室聊着天等着看视频,俺们老大出来取视频,拿着笔记本,傻愣愣的,视频在内网,台式机又全部把usb口屏蔽了。忒紧急,不晓得咋办,从内网取东西,又需要邮件一层层审批。这个时候,俺站出来了,用nginx将视频通过我们和三方联调开放的端口转发到外网了,客户看完了,很高兴。结果我挨了一顿批,说我不符合公司流程啥的,最后俺老大把责任担了。。。过程很美好,结果不咋地。
还有一次,是在之后一家公司,做车抵贷业务的,用户信息页面,显示人的,车的,发票的,行驶证的,乱七八糟加起来要显示50多张图片,上传是客户上传的,但是运营要在审批页查看照片审批。现在的手机都贼好,相机拍摄的都7M,8M的。一个页面光图片显示都要400M,这还是一个用户的,当时图片是在阿里的OSS上存储的,下载下来极慢。这时候,老大不高兴了,运营人员审批一个人的资料得5分钟,四分半在等图片加载,技术是干什么吃的。然后压力来到了前端哥们那边,在上传图片的时候进行压缩。但是最多到2M3M左右,实在下不去了。苦苦研究了好几天偶然被我听到了,我就说这用nginx不是很美吗,直接搞一个本地静态资源服务器,搁本地存图片,直接内网访问不是很快。 老大也很开心,就这么搞出来也很舒服,但是问题是,服务器1T磁盘,用户量也不小,可能没几天就满了。但是没几天,国家整治小贷公司,用户不还款,没等到服务器满,公司没了。过程也很美好,结果更不咋地,但这次不怪我。
下面我就简单介绍下这两个部署步骤吧。
这个简单,配置一下就好,但要注意gzip的压缩对图片视频等资源是没用的,开启了不但不会减小还占用cpu资源。这里为了演示,直接将图片文件放在html下了。
server { listen 8081; server_name somename alias another.alias; location /image { root html; autoindex on; } }
直接地址加端口加文件名访问
139.155.71.11:8081/image/test1.jpeg
这个就有几点需要注意了
想要在chrome播放,视频编码必须是H264的,其他的都是黑屏,只有声音,没有图像。
需要添加mp4模块
备份nginx的配置文件,注意,一定要备份,make的时候搞没了你会伤心的。
在nginx的解压目录执行如下命令,当然,要是本来就有其他的模块,也要一起添加上然后执行。
./configure --with-http_mp4_module
然后
make make install
将备份的配置文件放好,重启nginx就行
server { listen 8082; server_name somename alias another.alias; location /video { root html; mp4; mp4_buffer_size 1m;#处理mp4初始内存大小 mp4_max_buffer_size 50m;#处理mp4最大内存大小 limit_rate 150k; #限速 limit_rate_after 20m; #在20m后限速 } }
访问地址加端口加文件名就可以访问到想要的视频了。
139.155.71.11:8082/video/test4.mp4
视频效果如下:
以上是Nginx如何搭建图片视频服务器的详细内容。更多信息请关注PHP中文网其他相关文章!