分布式图片存储系统Fastfds和Nginx
由于在使用Django的过程当中使用到了Nginx和Fastfds,本文记录一下过程:
fastfds架构:
一:安装fastdfs依赖包:
- 解压缩libfastcommon-master.zip
- 进入到libfastcommon-master的目录中
- 执行 ./make.sh
- 执行 sudo ./make.sh install
二:安装fastfds
- 解压缩fastdfs-master.zip
- 进入到 fastdfs-master目录中
- 执行 ./make.sh
- 执行 sudo ./make.sh install
三:配置跟踪服务器tracker(fastfds分为两块)
- sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
- 在/home/python/目录中创建目录 fastdfs/tracker
- mkdir –p /home/python/fastdfs/tracker
- 编辑/etc/fdfs/tracker.conf配置文件 sudo vim /etc/fdfs/tracker.conf
- 修改 base_path=/home/python/fastdfs/tracker
四:配置存储服务器storage
- sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
- 在/home/python/fastdfs/ 目录中创建目录 storage
- mkdir –p /home/python/fastdfs/storage
- 编辑/etc/fdfs/storage.conf配置文件 sudo vim /etc/fdfs/storage.conf
修改内容:
- base_path=/home/python/fastdfs/storage
- store_path0=/home/python/fastdfs/storage
- tracker_server=自己ubuntu虚拟机的ip地址:22122
五:启动tracker 和 storage
- sudo service fdfs_trackerd start
- sudo service fdfs_storaged start
测试是否安装成功
- sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
- 编辑/etc/fdfs/client.conf配置文件: sudo vim /etc/fdfs/client.conf
修改内容:
- base_path=/home/python/fastdfs/tracker
- tracker_server=自己ubuntu虚拟机的ip地址:22122
3. 上传文件测试:
- fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
- 如果返回类似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功
安装nginx及fastdfs-nginx-module
- 解压缩 nginx-1.8.1.tar.gz
- 解压缩 fastdfs-nginx-module-master.zip
- 进入nginx-1.8.1目录中
- 执行
- sudo ./configure --prefix=/usr/local/nginx/ --add-module=fastdfs-nginx-module-master解压后的目录的绝对路径/src
- sudo ./make
- sudo ./make install
- sudo cp fastdfs-nginx-module-master解压后的目录中src下的mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
- sudo vim /etc/fdfs/mod_fastdfs.conf
修改内容:
- connect_timeout=10
- 172.16.0.8
- tracker_server=自己ubuntu虚拟机的ip地址:22122
- url_have_group_name=true
- store_path0=/home/python/fastdfs/storage
- sudo cp 解压缩的fastdfs-master目录中的http.conf /etc/fdfs/http.conf
- sudo cp 解压缩的fastdfs-master目录中的mime.types /etc/fdfs/mime.types
- sudo vim /usr/local/nginx/conf/nginx.conf
在http部分中添加配置信息如下:
server { listen 8888; server_name localhost; location ~/group[0-9]/ { ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
启动nginx
sudo /usr/local/nginx/sbin/nginx
www.wzxdm.com