fastdfs+nginx+python开发文件上传后台

1. 下载
fastdfs下载路径:https://github.com/happyfish100/fastdfs
依赖库libfastcommon:https://github.com/happyfish100/libfastcommon
2. 安装
分别进入两个目录,各执行:./make.sh 和 sudo ./make.sh install
安装后在/usr/local/bin会出现fdfs_trackerd和fdfs_storaged文件,之后启动服务需要指定这两个文件的路径。
然后修改/etc/fdfs下的storage.conf,tracker.conf,client.conf把他们的后缀.sample去掉。
tracker.conf修改
base_path=/Users/zhaoliangchen/fastfds/tracker
storage.conf修改

base_path=/Users/zhaoliangchen/fastfds/storage
store_path0=/User/zhaoliangchen/fastdfs/storage
tracker_server=你电脑的ip地址:22122
请注意这里不能写127.0.0.1,我因为写了这个导致上传测试不成功!!
以上路径都是自己手动创建的
启动服务,需要完整路径
/usr/local/bin/fdfs_trackerd/private/etc/fdfs/tracker.confstart
/usr/local/bin/fdfs_storaged/private/etc/fdfs/storage.confstart
出现错误:ERROR - file: storage_func.c, line: 718, chown "/Users/zhaoliangchen/fastfds/storage/data" fail, errno: 1, error info: Operation not permitted
记得更改文件权限
查看是否启动成功ps aux | grep fdfs
3. 上传文件测试
修改/etc/fdfs/client.conf文件
base_path=/home/python/fastdfs/tracker
tracker_server=你电脑的ip地址:22122
测试上传:
/usr/local/bin/fdfs_upload_file/private/etc/fdfs/client.conf /Users/zhaoliangchen/Downloads/王子文1.jpg
返回:group1/M00/00/00/qf5icV5ppYuAV1JLAAEwNDWo7v4525.jpg
代表成功!


4. fastdfs-nginx-module中间件安装
已安装过nginx,在nginx源码目录里执行
sudo ./configure --prefix==/usr/local/nginx --add-module=/Users/zhaoliangchen/fastfds/fastdfs-nginx-module-master/src/
注意--add-module后面跟的是fastdfs-nginx-module的完整路径!!!
还有我之前一开始brew安装的nginx,怎么导入都无法成功,后面卸载了,用nginx源码来运行,最后成功导入了。
然后在nginx.conf里面导入如下配置:
server {
listen8888;
server_namelocalhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page500 502 503 504/50x.html;
location = /50x.html {
roothtml;
}
}


拷贝fastdfs-nginx-module-master解压后的目录中src下的mod_fastdfs.conf 到/etc/fdfs/mod_fastdfs.conf
编辑/etc/fdfs/mod_fastdfs.conf文件
connect_timeout=10
tracker_server=我电脑的ip地址:22122
url_have_group_name=true
store_path0=/User/zhaoliangchen/fastdfs/storage


拷贝fastdfs-master目录中的http.conf 到/etc/fdfs/http.conf
拷贝fastdfs-master目录中的mime.types到 /etc/fdfs/mime.types


启动nginx
sudo /usr/local/nginx/sbin/nginx
出现ngx_http_fastdfs_set pid=671成功
【fastdfs+nginx+python开发文件上传后台】ps -ef | grep nginx

    推荐阅读