文章目录
一、安装gcc
yum install make cmake gcc gcc-c++
二、上传所需的安装包
首先下载所需安装包:点我下载
可以使用Xftp5上传文件到 Linux 。
上传后如下:
[root@localhost ~]# ll
total 1640
-rw-r--r--. 1 root root 17510 Jul 6 07:21 fastdfs-nginx-module_v1.16.tar.gz
-rw-r--r--. 1 root root 344620 Jul 6 07:21 FastDFS_v5.08.tar.gz
-rw-r--r--. 1 root root 265633 Jul 6 07:21 libfastcommon-master.zip
-rw-r--r--. 1 root root 1043748 Jul 6 07:21 nginx-1.19.0.tar.gz
三、安装zip和unzip
yum install -y zip unzip
四、安装 libfastcommon
-
解压 libfastcommon-master.zip 到 /usr/local/fast/
unzip libfastcommon-master.zip -d /usr/local/fast/
进入/usr/local/fast/libfastcommon-master/
cd /usr/local/fast/libfastcommon-master/
解压后如下:
[root@localhost libfastcommon-master]# ll total 60 drwxr-xr-x. 2 root root 114 Jun 28 07:26 doc -rw-r--r--. 1 root root 11936 Jun 28 07:26 HISTORY -rw-r--r--. 1 root root 674 Jun 28 07:26 INSTALL -rw-r--r--. 1 root root 1607 Jun 28 07:26 libfastcommon.spec -rw-r--r--. 1 root root 27030 Jun 28 07:26 LICENSE -rwxr-xr-x. 1 root root 3454 Jun 28 07:26 make.sh drwxr-xr-x. 2 root root 191 Jun 28 07:26 php-fastcommon -rw-r--r--. 1 root root 2776 Jun 28 07:26 README drwxr-xr-x. 3 root root 4096 Jun 28 07:26 src
-
编译
./make.sh
-
安装
./make.sh install
-
创建软连接
FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/usr/lib64/下的一些核心执行程序的软连接文件。如下所示:
[root@localhost libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so [root@localhost libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so [root@localhost libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so [root@localhost libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
五、安装FastDFS
-
解压FastDFS_v5.08.tar.gz 到 /usr/local/fast/
tar -zxvf FastDFS_v5.08.tar.gz -C /usr/local/fast/
-
编译安装
cd /usr/local/fast/FastDFS/ ./make.sh ./make.sh install
安装完成后,服务脚本如下:
[root@localhost FastDFS]# cd /etc/init.d/ && ls | grep fdfs fdfs_storaged fdfs_trackerd
配置文件位置如下:
[root@localhost init.d]# cd /etc/fdfs/ [root@localhost fdfs]# ll total 20 -rw-r--r--. 1 root root 1461 Jul 6 07:30 client.conf.sample -rw-r--r--. 1 root root 7927 Jul 6 07:30 storage.conf.sample -rw-r--r--. 1 root root 7200 Jul 6 07:30 tracker.conf.sample
FastDFS一系列执行脚本如下,可以看到有上传文件脚本、下载文件脚本等等:
[root@localhost fdfs]# cd /usr/bin/ && ls | grep fdfs fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_crc32 fdfs_delete_file fdfs_download_file fdfs_file_info fdfs_monitor fdfs_storaged fdfs_test fdfs_test1 fdfs_trackerd fdfs_upload_appender fdfs_upload_file
六、配置跟踪器
-
进入到/etc/fdfs目录并且复制一份tracker.conf.sample并命名为tracker.conf,如下所示:
[root@localhost bin]# cd /etc/fdfs/ [root@localhost fdfs]# ll total 20 -rw-r--r--. 1 root root 1461 Jul 6 07:30 client.conf.sample -rw-r--r--. 1 root root 7927 Jul 6 07:30 storage.conf.sample -rw-r--r--. 1 root root 7200 Jul 6 07:30 tracker.conf.sample [root@localhost fdfs]# cp tracker.conf.sample tracker.conf [root@localhost fdfs]# ll total 28 -rw-r--r--. 1 root root 1461 Jul 6 07:30 client.conf.sample -rw-r--r--. 1 root root 7927 Jul 6 07:30 storage.conf.sample -rw-r--r--. 1 root root 7200 Jul 6 07:50 tracker.conf -rw-r--r--. 1 root root 7200 Jul 6 07:30 tracker.conf.sample
-
修改 tracker.conf 中 base_path的值为/fastdfs/tracker
[root@localhost fdfs]# vim tracker.conf
-
创建/fastdfs/tracker
[root@localhost fdfs]# mkdir -p /fastdfs/tracker
-
防火墙开放tracker使用的端口22122
[root@localhost fdfs]# firewall-cmd --permanent --add-port=22122/tcp success [root@localhost fdfs]# firewall-cmd --reload success
-
启动tracker
[root@localhost fdfs]# /etc/init.d/fdfs_trackerd start Reloading systemd: [ OK ] Starting fdfs_trackerd (via systemctl): [ OK ]
启动之后可以看到/fastdfs/tracker文件夹下多了两个目录data和logs:
[root@localhost fdfs]# ll /fastdfs/tracker total 0 drwxr-xr-x. 2 root root 83 Jul 6 08:00 data drwxr-xr-x. 2 root root 26 Jul 6 07:59 logs
七、配置FastDFS存储
-
进入/etc/fdfs目录,复制一份storage.conf.sample文件并命名为storage.conf
[root@localhost fdfs]# cp storage.conf.sample storage.conf [root@localhost fdfs]# ll total 36 -rw-r--r--. 1 root root 1461 Jul 6 07:30 client.conf.sample -rw-r--r--. 1 root root 7927 Jul 6 08:03 storage.conf -rw-r--r--. 1 root root 7927 Jul 6 07:30 storage.conf.sample -rw-r--r--. 1 root root 7196 Jul 6 07:53 tracker.conf -rw-r--r--. 1 root root 7200 Jul 6 07:30 tracker.conf.sample
-
修改storage.conf文件
[root@localhost fdfs]# vim storage.conf
修改以下四项:
base_path=/fastdfs/storage store_path0=/fastdfs/storage tracker_server=192.168.40.139:22122 http.server_port=8888
-
创建存储目录
[root@localhost fdfs]# mkdir -p /fastdfs/storage
-
防火墙开放storage的默认端口23000
[root@localhost fdfs]# firewall-cmd --permanent --add-port=23000/tcp success [root@localhost fdfs]# firewall-cmd --reload success
-
启动storage
[root@localhost fdfs]# /etc/init.d/fdfs_storaged start Starting fdfs_storaged (via systemctl): [ OK ]
启动后/fastdfs/storage目录里多了data和logs两个文件夹
[root@localhost fdfs]# ll /fastdfs/storage/ total 12 drwxr-xr-x. 259 root root 8192 Jul 6 08:15 data drwxr-xr-x. 2 root root 26 Jul 6 08:15 logs
八、测试上传功能
-
进入到/etc/fdfs目录下复制一份client.conf.sample并更名为client.conf
[root@localhost fdfs]# cp client.conf.sample client.conf [root@localhost fdfs]# ll total 40 -rw-r--r--. 1 root root 1461 Jul 6 08:23 client.conf -rw-r--r--. 1 root root 1461 Jul 6 07:30 client.conf.sample -rw-r--r--. 1 root root 7918 Jul 6 08:12 storage.conf -rw-r--r--. 1 root root 7927 Jul 6 07:30 storage.conf.sample -rw-r--r--. 1 root root 7196 Jul 6 07:53 tracker.conf -rw-r--r--. 1 root root 7200 Jul 6 07:30 tracker.conf.sample
-
修改client.conf
[root@localhost fdfs]# vim client.conf
修改以下两项:
base_path=/fastdfs/tracker tracker_server=192.168.40.139:22122
-
找到命令的脚本位置,并且使用命令,进行文件的上传
[root@localhost bin]# vim ~/test_upload_file.txt [root@localhost bin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf ~/test_upload_file.txt group1/M00/00/00/wKgoi18DGreAEr53AAAAFaPsLPE902.txt [root@localhost bin]#
九、FastDFS与nginx结合
-
安装fastdfs-nginxmodule_v1.16.tar.gz(fast与nginx相结合的模块安装包)
# 解压安装包 [root@localhost ~]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/ # 进入解压目录 [root@localhost ~]# cd /usr/local/fast/ [root@localhost fast]# ll total 0 drwxr-xr-x. 10 8980 users 258 Jul 6 07:30 FastDFS drwxrwxr-x. 3 500 500 47 May 4 2014 fastdfs-nginx-module drwxr-xr-x. 5 root root 168 Jul 6 07:29 libfastcommon-master [root@localhost fast]# cd fastdfs-nginx-module/ [root@localhost fastdfs-nginx-module]# ll total 8 -rw-rw-r--. 1 500 500 2342 May 4 2014 HISTORY -rw-rw-r--. 1 500 500 1733 May 4 2014 INSTALL drwxrwxr-x. 2 500 500 109 May 4 2014 src
-
修改配置文件
将config第四行的 /usr/local/include/fastdfs /usr/local/include/fastcommon/ 改成 /usr/include/fastdfs /usr/include/fastcommon/
[root@localhost src]# vim config ngx_addon_name=ngx_http_fastdfs_module HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module" NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c" CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/" CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient" CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
-
安装nginx
安装时指定配置 ./configure --prefix=/usr/local/nginx --add-module=/usr/local/fast/fastdfs-nginx-module/src/
-
复制fastdfs-nginx-module中的配置文件,到/etc/fdfs目录中
[root@localhost nginx]# cd /usr/local/fast/fastdfs-nginx-module/src/ [root@localhost src]# ll total 76 -rw-rw-r--. 1 500 500 33207 Aug 29 2013 common.c -rw-rw-r--. 1 500 500 3479 Jan 3 2012 common.h -rw-rw-r--. 1 500 500 435 Jul 6 09:39 config -rw-rw-r--. 1 500 500 3679 Mar 29 2013 mod_fastdfs.conf -rw-rw-r--. 1 500 500 28542 May 4 2014 ngx_http_fastdfs_module.c [root@localhost src]# cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
-
修改上一步copy的mod_fastdfs.conf,需要修改的项如下,其中第一项是超时时长,第三项是允许外界通过http方式访问资源
[root@localhost src]# vim /etc/fdfs/mod_fastdfs.conf
connect_timeout=10 tracker_server=192.168.40.139:22122 url_have_group_name=true store_path0=/fastdfs/storage
-
复制FastDFS里的2个文件,到/etc/fdfs目录中
[root@localhost src]# cd /usr/local/fast/FastDFS/conf/ [root@localhost conf]# ll total 84 -rw-r--r--. 1 8980 users 23981 Feb 4 2016 anti-steal.jpg -rw-r--r--. 1 8980 users 1461 Feb 4 2016 client.conf -rw-r--r--. 1 8980 users 858 Feb 4 2016 http.conf -rw-r--r--. 1 8980 users 31172 Feb 4 2016 mime.types -rw-r--r--. 1 8980 users 7927 Feb 4 2016 storage.conf -rw-r--r--. 1 8980 users 105 Feb 4 2016 storage_ids.conf -rw-r--r--. 1 8980 users 7200 Feb 4 2016 tracker.conf [root@localhost conf]# cp http.conf mime.types /etc/fdfs/
-
创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录
[root@localhost conf]# ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
-
进入到/usr/local/nginx/conf/目录下,修改nginx.conf文件
[root@localhost conf]# vim nginx.conf
找到server部分,修改如下:
server { listen 8888; server_name localhost; location ~/group([0-9])/M00 { ngx_fastdfs_module; }
-
启动nginx
[root@localhost nginx]# ./sbin/nginx ngx_http_fastdfs_set pid=17576
-
防火墙放开8888端口
[root@localhost nginx]# firewall-cmd --permanent --add-port=8888/tcp success [root@localhost nginx]# firewall-cmd --reload succes
十、测试安装成果
浏览器访问刚刚上传成功的文件:http://192.168.40.139:8888/group1/M00/00/00/wKgoi18DGreAEr53AAAAFaPsLPE902.txt