下载
https://github.com/happyfish100
安装 libfastcommon
[java@centos100 ~]$ tar -zxf libfastcommon-1.0.39.tar.gz
[java@centos100 ~]$ sudo mv libfastcommon-1.0.39 /usr/local/libfastcommon-1.0.39
[java@centos100 ~]$ cd /usr/local/libfastcommon-1.0.39/
[java@centos100 libfastcommon-1.0.39]$ ./make.sh
[java@centos100 libfastcommon-1.0.39]$ sudo ./make.sh install
libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接。
[java@centos100 libfastcommon-1.0.39]$ sudo ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
[java@centos100 libfastcommon-1.0.39]$ sudo ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
安装 FastDFS
[java@centos100 ~]$ tar zxf fastdfs-5.11.tar.gz
[java@centos100 ~]$ sudo mv fastdfs-5.11 /usr/local/fastdfs-5.11
[java@centos100 ~]$ cd /usr/local/fastdfs-5.11/
[java@centos100 fastdfs-5.11]$ ./make.sh
[java@centos100 fastdfs-5.11]$ sudo ./make.sh install
[java@centos100 fastdfs-5.11]$ cd /etc/fdfs/
[java@centos100 fastdfs-5.11]$ sudo ln -s /usr/bin/fdfs_trackerd /usr/local/bin
[java@centos100 fastdfs-5.11]$ sudo ln -s /usr/bin/fdfs_storaged /usr/local/bin
[java@centos100 fastdfs-5.11]$ sudo ln -s /usr/bin/stop.sh /usr/local/bin
[java@centos100 fastdfs-5.11]$ sudo ln -s /usr/bin/restart.sh /usr/local/bin
配置 FastDFS 跟踪器 (Tracker)
[java@centos100 fastdfs-5.11]$ cd /etc/fdfs/
[java@centos100 fdfs]$ sudo cp tracker.conf.sample tracker.conf
[java@centos100 fdfs]$ sudo vi tracker.conf
更改 base_path=/home/java/fastdfs/tracker
创建文件夹[java@centos100 fdfs]$ mkdir -p /home/java/fastdfs/tracker
启动 tracker
[java@centos100 ~]$ sudo systemctl start fdfs_trackerd
配置 FastDFS 存储 (Storage)
[java@centos100 ~]$ cd /etc/fdfs/
[java@centos100 fdfs]$ sudo cp storage.conf.sample storage.conf
[java@centos100 fdfs]$ sudo vi storage.conf
更改 base_path=/home/java/fastdfs/storage
store_path0=/home/java/fastdfs/path0
tracker_server=192.168.158.100:22122
创建文件夹
[java@centos100 fdfs]$ mkdir -p /home/java/fastdfs/storage
[java@centos100 fdfs]$ mkdir -p /home/java/fastdfs/path0
启动
第一次用 [java@centos100 ~]$ sudo /etc/init.d/fdfs_storaged start
以后可以用 [java@centos100 ~]$ sudo systemctl start fdfs_storaged
配置 FastDFS 客户端 (Client)
[java@centos100 ~]$ cd /etc/fdfs/
[java@centos100 fdfs]$ sudo cp client.conf.sample client.conf
配置 base_path=/home/java/fastdfs/client
tracker_server=192.168.158.100:22122
[java@centos100 fdfs]$ mkdir /home/java/fastdfs/client
上传文件:[java@centos100 ~]$ fdfs_upload_file /etc/fdfs/client.conf jia
安装 nginx
请查看这里
https://blog.csdn.net/ZhaoJa/article/details/85222698
访问文件
修改 nginx 配置文件
[java@centos100 nginx-1.14.2]$ sudo vi conf/nginx.conf
在 http–>server 下添加如下行,将 /group1/M00 映射到 /home/java/fastdfs/path0/data
location /group1/M00 {
alias /home/java/fastdfs/path0/data;
}
重启 nginx
访问 http://192.168.158.100/group1/M00/00/00/wKieZFwfGbaARXAMAAAAC2Z7SCo7471395
备注:如果出现 403 Forbidden,日志 Permission denied
修改 nginx.conf 文件 在 user nobody 下添加 user xxx,重启即可。
FastDFS 配置 nginx 模块
解压并移动到 nginx 源码目录
[java@centos100 ~]$ tar zxf fastdfs-nginx-module-1.20.tar.gz
[java@centos100 ~]$ mkdir nginx-1.14.2/modules
[java@centos100 ~]$ sudo mv fastdfs-nginx-module-1.20 nginx-1.14.2/modules/fastdfs-nginx-module-1.20
停止 nginx
[java@centos100 ~]$ cd /usr/local/nginx-1.14.2/
[java@centos100 nginx-1.14.2]$ sudo ./sbin/nginx -s stop
添加模块
更新 fastdfs 模块配置文件
[java@centos100 nginx-1.14.2]$ vi modules/fastdfs-nginx-module-1.20/src/config
将
- ngx_module_incs="/usr/include"
- CORE_INCS="$CORE_INCS /usr/include"
改为(不改这里会报错,/usr/local/include/fastdfs/fdfs_define.h:15:27: 致命错误:common_define.h:没有那个文件或目录)
- ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
- CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
添加模块
[java@centos100 nginx-1.14.2]$ cd /home/java/nginx-1.14.2
[java@centos100 nginx-1.14.2]$ ./configure --prefix=/usr/local/nginx-1.14.2 --add-module=modules/fastdfs-nginx-module-1.20/src
[java@centos100 nginx-1.14.2]$ make
[java@centos100 nginx-1.14.2]$ sudo make install
查看nginx模块
[java@centos100 nginx-1.14.2]$ nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
configure arguments: --prefix=/usr/local/nginx-1.14.2 --add-module=modules/fastdfs-nginx-module-1.20/src
将 module 下的配置文件 复制到 /etc/fdfs/ 下,并配置
[java@centos100 nginx-1.14.2]$ sudo cp /home/java/nginx-1.14.2/modules/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/
[java@centos100 nginx-1.14.2]$ sudo vi /etc/fdfs/mod_fastdfs.conf
修改为
- tracker_server=192.168.158.100:22122
- store_path0=/home/java/fastdfs/path0
- url_have_group_name = true
复制 FastDFS 的部分配置文件到/etc/fdfs 目录
[java@centos100 nginx-1.14.2]$ cd /usr/local/fastdfs-5.11/
[java@centos100 fastdfs-5.11]$ sudo cp conf/anti-steal.jpg conf/http.conf conf/mime.types /etc/fdfs/
配置nginx,修改nginx.conf,在80端口下添加fastdfs-nginx模块
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
创建软连接
[java@centos100 nginx-1.14.2]$ sudo ln -s /home/java/fastdfs/path0/data/ /home/java/fastdfs/path0/data/M0
启动 nginx
[java@centos100 nginx-1.14.2]$ sudo ./sbin/nginx
输出 ngx_http_fastdfs_set pid=26530 表示成功。