随着公司的业务不断的发展,将服务和文件放在同一服务器下面的弊端越来越明显;这个时候就该上线独立的图片服务器系统;通过 ftp 或者 ssh 工具将文件上传到图片服务器的某个目录下面,在通过 ngnix 或者 apache 服务器来做图片的访问,给图片服务器配置独立的子域名,例如 img.xx.com。在业务处理文件时通过 ftp 或者 ssh 将文件上传到文件服务器,返回给程序一个独立域名的图片 url 地址,网站正常访问的时候就通过这个 URL 地址来访问文件。
优点:图片访问是很消耗服务器资源的(因为会涉及到操作系统的上下文切换和磁盘 I / O 操作)。分离出来后,Web/App 服务器可以更专注发挥动态处理的能力;独立存储,更方便做扩容、容灾和数据迁移;方便做图片访问请求的负载均衡,方便应用各种缓存策略(HTTP Header、Proxy Cache 等),也更加方便迁移到 CDN。
缺点:单机存在性能瓶颈,容灾、垂直扩展性稍差
参考文章:网站文件系统发展 && 分布式文件系统 fastDFS
安装 Nginx
上面介绍过,ngnix 服务器是来做图片的访问的。安装好,域名能正常访问到即可,无需修改任何配置。它的根目录是 /usr/local/nginx/html,通过根目录 + 资源名称即可访问到你要的资源。