安装FastDFS服务(Ubuntu Server 单机)
1.安装libfastcommon
首先安装git服务
安装git服务:sudo apt-get install git
下载libfastcommon安装包:git clone https://github.com/happyfish100/libfastcommon.git
进入libfastcommon目录依次执行:
./make.sh
sudo ./make.sh install
配置libfastcommon环境变量和软连接(32位OS安装在/usr/lib目录,64位OS安装在/usr/lib64目录下)
export LS_LIBRARY_PATH=/usr/lib
ln -s /usr/lib/libfastcommon.so /usr/local/lib/libfastcommon.so
2.安装FastDFS
下载FastDFS安装包:wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
解压进入目录
由于要是用内置HTTP服务,编辑make.sh文件
找到:#WITH_HTTPD=1,将其注释去掉以支持HTTP
依次执行:
./make.sh
sudo ./make.sh install
FastDFS安装成功后在/etc下会有fdfs目录,目录中包含示例配置文件:tracker.conf.sample、storage.conf.sample、client.conf.sample
分别复制示例文件:sudo cp tracker.conf.sample tracker.conf;sudo cp storage.conf.sample storage.conf;sudo cp client.conf.sample client.conf
配置tracker.conf:
#配置数据、日志存放目录(路径需存在)
base_path=/home/当前用户/fastdfs
#tracker服务HTTP端口(下载文件HTTP端口)
http.server_port=8090
#HTTP支持,将原配置中的两个"##"去掉一个"#"
#include http.conf
#tracker server对storage server提供的服务端口
port=22122
配置storage.conf:
group_name=group1
store_path0=/home/当前用户/fastdfs/storage0
base_path=/home/当前用户/fastdfs
#tracker server的地址
tracker_server=localhost:22122
http.server_port=8888
#HTTP支持,将原配置中的两个"##"去掉一个"#"
#include http.conf
配置client.conf:
base_path=/home/当前用户/fastdfs
tracker_server=localhost:22122
http.tracker_server_port=8888
#HTTP支持,将原配置中的两个"##"去掉一个"#"
#include http.conf
配置http.conf:
此文件位于FastDFS解压目录的conf中
首先将此文件复制到/etc/fdfs/目录下:sudo cp http.conf /etc/fdfs/
里面有默认图片路径:http.anti_steal.token_check_fail=/解压目录/anti-steal.jpg
将图片一并复制到/etc/fdfs/目录下:sudo cp anti-steal.jpg /etc/fdfs/
3.启动FastDFS服务
采用默认安装的方式安装服务后,安装的相应文件及目录:
A.脚本:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker
B.配置文件:
/etc/fdfs/tracker.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/client.conf.sample
C.命令工具:
/usr/bin/fdfs_trackerd
/usr/bin/fdfs_storaged
/usr/bin/fdfs_upload_file
/usr/bin/fdfs_upload_appender
/usr/bin/fdfs_appender_test
/usr/bin/fdfs_appender_test1
/usr/bin/fdfs_monitor
/usr/bin/fdfs_file_info
/usr/bin/fdfs_download_file
/usr/bin/fdfs_delete_file
/usr/bin/fdfs_crc32
/usr/bin/fdfs_append_file
/usr/bin/stop.sh
/usr/bin/restart.sh
启动tracker服务:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
启动storage服务:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
停止tracker服务:/etc/init.d/fdfs_trackerd stop
停止storage服务:/etc/init.d/fdfs_storaged stop
查看tracker、storage启动日志(base_path指定目录):/home/当前用户/fastdfs/logs/
验证服务:netstat -unltp | grep fdfs
查看状态:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
4.安装fastdfs-nginx-module
解压fastdfs-nginx-module文件并进入
A、修改src/config配置文件:sudo vim src/config
找到CORE_INCS配置"$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/",删除路径中的local目录。
B、复制fastdfs-nginx-module源码中的配置文件并修改
cp mod_fastdfs.conf /etc/fdfs/
sudo vim /etc/fdfs/mod_fastdfs.conf
修改:tracker_server:localhost:22122 #tracker服务地址
url_have_group_name:true #在URL路径中前缀加上组名
store_path0=/home/当前用户/fastdfs/storage0 #文件存储路径
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/当前用户/fastdfs/storage0 (路径不正确后面会出现404)
C、安装nginx并nginx中添加fastdfs-nginx-module模块
其中在执行第3步 "./configure --prefix=/usr/local/nginx"时在命令末尾加上"--add-module=fastdfs-nginx-module路径/src"命令
(我本机启动时提示找不到mime.type文件,将/usr/local/conf目录中的mime.type文件复制一份到/etc/fdfs/目录中)
5.storage配置nginx
修改nginx监听端口,端口号和fastdfs的storage.conf中http.server_port端口相同,并在nginx中添加location:
location ~/group([0-9])/M00 {
root /home/当前用户/fastdfs/storage0/;
ngx_fastdfs_module;
}
重启nginx
6.track配置nginx
在nginx配置文件nginx.conf中修改如下(设置负载均衡,upstream中8888端口号需和tracker.conf中的http.server_port端口保持一致):
upstream fdfs_group1 {
server 127.0.0.1:8888 weight=1 max_fails=2 fail_timeout=30s;
server 127.0.0.2:8888 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 8000;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location ~/group([0-9])/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_pass http://fdfs_group1;
expire 30d;
}
}
重启nginx服务
6.测试
http://localhost:8888/group1/M00
参考 http://blog.youkuaiyun.com/softwave/article/details/54017095