ftp+nginx实现文件服务器

2,090 阅读1分钟
原文链接: www.jianshu.com

为什么要有文件服务器呢,如果把文件存放到web容器下肯定不是好的办法,因为你时刻需要注意覆盖后文件消失的问题。如果想完全的搬出web容器,项目不大的话我们可以选择ftp+nginx的方式来实现文件服务器。如果文件需求量大点的,建议用分布式文件服务器,它对横向扩展的支持比较好。

1. 环境准备

  1. CentOS 搭建 ftp 服务
  2. nginx环境搭建

2. 开始整合

2.1 修改nginx.conf

我们需要再nginx.conf配置文件里增加一段配置来拦截所有的.jpg等图片请求

        location  ~ .*\.(jpg|gif|png|bit|jpeg){
                gzip on;
                root /home/ftpfile/ftp;
        }

gzip on;是开启图片压缩。不熟悉的可以看我的nginx专题www.jianshu.com/nb/18436827
root /xxx 是重定向到本地路径。 注意ftp后面没有斜杠。

2.2 重新加载配置
nginx -s reload
2.3 访问 ip+图片名

此时可能会报错404或者403,那是因为nginx用户没有权限去ftp服务力拿东西。 所以我们需要配置

2.4 配置nginx用户可访问
chown nginx /home/ftpfile/ftp

设置后的截图


2.5 成功截图