CentOS fastDFS结合nginx的配置以及php端的调用方法
来源:互联网 发布:psp看书软件羊皮纸 编辑:程序博客网 时间:2024/05/02 01:23
fastDFS的介绍就不说了 想了解的人直接百度。
源码:http://code.google.com/p/fastdfs/
论坛:http://bbs.chinaunix.net/forum-240-1.html
配置说明:http://bbs.chinaunix.net/thread-1941456-1-1.html
//启动tracker
2、测试上传2.0.1 配置客户端上传文件 (192.168.41.160)
开始吧
--------------------------------------------------
环境:
CentOS 6.3 x64 3台
FastDFS_v4.04.tar.gz http://fastdfs.googlecode.com/files/FastDFS_v4.04.tar.gz
fastdfs-nginx-module_v1.13.tar.gzhttp://fastdfs.googlecode.com/files/fastdfs-nginx-module_v1.13.tar.gz
libevent-1.4.14b-stable.tar.gzhttps://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz
nginx-1.0.10.tar.gzhttp://nginx.org/download/nginx-1.0.10.tar.gz
pcre-8.20.tar.gzhttp://sourceforge.net/projects/pcre/files/pcre/8.20/pcre-8.20.tar.gz
tracker server IP:192.168.41.160
storage server IP:192.168.41.162
storage server IP:192.168.41.163
PHP客户端IP:192.168.41.156
--------------------------------------------------
1、安装部署
1.0.1安装依赖包libevent (所有机器)
tar zxvf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure --prefix=/usr/local/libevent
make
make install
1.0.2安装fastDFS (tracker、storage、php端都按照此方法) (所有机器)
tar zxvf FastDFS_v4.04.tar.gz
cd FastDFS
vi make.sh // tracker才需要,storage、php不用操作此步骤
//64行左右 删除#号开启WITH_HTTPD和WITH_LINUX_SERVICE
//开启自带的http,据说最新版已经取消自带的http功能
./make.sh C_INCLUDE_PATH=/usr/local/libevent/include LIBRARY_PATH=/usr/local/libevent/lib
./make.sh install
//到这里安装就完毕了
//可以看到fastDFS的相关配置文件
ls /etc/fdfs/
tracker.conf//负责均衡调度服务器配置文件
client.conf//客户端上传配置文件
http.conf//http服务器配置文件
storage.conf//文件存储服务器配置文件
mime.types//文件类型配置文件
1.0.3启动fastDFS tracker (192.168.41.160)
//创建目录,用于记录 tracker日志、storage server等信息。
mkdir -m 777 -p /www/fastDFS
//修改tracker.conf
vi /etc/fdfs/tracker.conf
把 22 行 改成 base_path=/www/fastDFS
把 222行 改成 http.server_port=8088 //如果本机没用到8080可以不修改
把 244行 改成 #include http.conf //注意,改完前面有个#,不要全部去掉
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
//查看端口是否开启,看到22122 和8088就说明启动正常。如果没有,查看/www/fastDFS/logs里的日志
netstat -tnlp
1.0.4启动fastDFS storage (192.168.41.162 192.168.41.163)
//创建目录,用于存储文件。
mkdir -m 777 -p /www/fastDFS
//修改storage.conf
vi /etc/fdfs/storage.conf
把 33 行 改成 base_path=/www/fastDFS
把 100行 改成 store_path0=/www/fastDFS
把 109行 改成 tracker_server=192.168.41.160:22122//根据自己的IP
把 252行 改成 http.disabled=true //因为我们要用nginx了,这个就关闭它
把 259行 改成 http.server_port=80
//启动storage
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf
//查看端口是否开启,看到23000就说明启动正常。如果没有,查看/www/fastDFS/logs里的日志
//这个时候可以看下storage与tracker的连接情况
netstat -tnlpa| grep 22122
vi /etc/fdfs/client.conf
把 10 行 改成 base_path=/www/fastDFS
把 14 行 改成 tracker_server=192.168.41.160:22122//根据自己的IP
把 29 行 改成 http.tracker_server_port=8088//这个一定要跟tracker.conf里面配置的一样
把 32 行 改成 #include http.conf //注意,改完前面有个#,不要全部去掉
//随意上传个文件
echo 'fastDFS_test' >/tmp/test.txt
fdfs_test /etc/fdfs/client.conf upload /tmp/test.txt
//看到类似上面的返回,说明文件已经成功上传。如果不是,说明配置出错了,查看日志。
//记录下这个URL:http://192.168.41.160:8080/group1/M00/00/00/wKgpolFwG-WANaKzAAAADVt_Kt4300_big.txt
3、nginx配置
3.0.1 nginx拓展模块安装 (192.168.41.162 192.168.41.163)
//nginx的安装比较简单,这里不做解释
//曾经有过疑问,既然文件是直接被保持在storage服务器上,那直接用nginx就可以访问了,为什么还要添加这个模块?
//答:
//使用扩展模块来解决文件同步延迟问题
//如果请求文件在当前storage上不存在,通过文件ID反解出源storage,直接请求源storage
//tracker server上不需要任何web server
//在每台storage server上部署web server,直接对外提供HTTP服务
//目前已提供apache和nginx扩展模块
//推荐使用扩展模块方式
//假设nginx已经在系统被安装过。
tar zxvf fastdfs-nginx-module_v1.13.tar.gz
/usr/local/nginx/sbin/nginx -V
//运行后得到原来的编译参数,如:
// --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/root/openssl-1.0.0d
cd nginx-1.0.10
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/root/openssl-1.0.0d --add-module=/root/fastdfs-nginx-module/src //fastdfs-nginx-module的路径根据自己的环境修改
make
make install
cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vi /etc/fdfs/mod_fastdfs.conf
把 3 行 改成connect_timeout=20 //默认2秒有点小,可改可不改
把 10行 改成base_path=/www/fastDFS/
把 40行 改成tracker_server=192.168.41.160:22122////根据自己的IP
把 62行 改成store_path0=/www/fastDFS
ln -s /www/fastDFS/data /www/fastDFS/data/M00
//编辑nginx.conf
vi /usr/local/nginx/conf/nginx.conf
//在server段添加如下内容:
location /group1/M00/ { alias /www/fastDFS/data/; ngx_fastdfs_module; }
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
//这里直接用usr/local/nginx/sbin/nginx -s reload 有时候会出现nginx没办法访问。
3.0.2 nginx拓展模块验证 (192.168.41.162 192.168.41.163)
//用浏览器打开我们上面记录的URL:
//http://192.168.41.160:8080/group1/M00/00/00/wKgpolFwG-WANaKzAAAADVt_Kt4300_big.txt
//访问tracker 会被302跳转到一台可用的storage上面去请求
//当然,在另一个节点上也是可以访问的,手动更改url:
4、PHP客户端配置
4.0.1 php拓展模块安装 (PHP端)
//php的客户端安装也会依赖 FastDFS本身的一些库文件,所以请保证已经安装了FastDFS。
cd /root/FastDFS/php_client/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-configmake
make install
cat fastdfs_client.ini >> /usr/local/php/etc/php.ini
//验证模块是否被正常加载
/usr/local/php/bin/php -m |grep fastdfs_client
//如果有返回,就说明成功。
cp ../conf//etc/fdfs/ /etc/fdfs/
vi /etc/fdfs//etc/fdfs/
把 14 行改成 tracker_server=192.168.41.160:22122
把 29 行改成 http.tracker_server_port=8088
//重启加载php
/usr/local/php/sbin/php-fpm reload
4.0.2 php拓展模块验证 (PHP端)
//随意创建个文件,上传用
echo 'php_upload_test' >/tmp/upload.txt
//创建个上传test.php 内容如下:
<?php
var_dump(function_exists('fastdfs_storage_upload_by_filename'));
$ret = fastdfs_storage_upload_by_filename('
/tmp/upload.txt
'); var_dump($ret);
?>
//执行:
/usr/local/php/bin/php test.php
//看到上面的返回,应该很熟悉吧,说明成功了。用浏览器访问下:
关于fastDFS php插件的使用方法和函数调用方法,可以查看/root/FastDFS/php_client/README
OK。
博客地址 http://blog.163.com/a12333a_li/
李坤山
0 0
- CentOS fastDFS结合nginx的配置以及php端的调用方法
- CentOS fastDFS结合nginx的配置以及php端的调用方法
- Centos7安装Nginx以及与FastDFS的结合
- Centos下nginx,php,mysql以及phpmyadmin的配置
- FastDFS+nginx的安装配置
- CentOS 6.6 Nginx配置php的问题
- fastDFS的配置nginx的http请求
- Ubuntu 下nginx和FastDfs的配置
- CentOS安装FastDFS以及nginx下载代理
- CentOS 6.5 FastDFS+nginx安装配置
- 在虚拟机(CentOS)上配置fastdfs+nginx
- 图片服务器fastDFS的搭建以及配置
- Nginx学习以及PHP+Nginx的环境安装与配置
- Linux配置Nginx,MySql,php-fpm开机启动的方法 (centos)
- FastDFS安装配置以及整合Nginx测试
- centos安装php php-fpm 以及 配置nginx
- centos安装php php-fpm 以及 配置nginx
- centos安装php php-fpm 以及 配置nginx
- nginx不支持apk ipa文件下载
- linux下定时执行计划crond任务
- MongoDB权限
- Linux下PHP-APC的安装与配置
- 安装redis版本为1.2.6
- CentOS fastDFS结合nginx的配置以及php端的调用方法
- mongodb分布式集群架构
- 将mysql数据导入mongodb
- java 文件拆分 合并
- MongoDB分片实战(一):集群搭建
- Mongodb数据导入
- RMI [java.rmi.UnmarshalException] 问题解决
- error: SSL certificate problem, verify that the CA cert is OK.
- Redis学习手册(服务器管理)