安装libfastcommon依赖环境
官网下载,或者链接:https://pan.baidu.com/s/1jIVjy0Q 密码:jxkj(其他人的网盘)
1tar -zxvf libfastcommon.tar.gz 2cd libfastcommon-1.0.7/ 3./make.sh 4./make.sh install 5cp /usr/lib64/libfastcommon.so /usr/lib
安装FastDFS
官网下载,或者链接:https://pan.baidu.com/s/1c2SDMjI 密码:8ujt(其他人的网盘)
1tar -zxvf FastDFS_v5.05.tar.gz 2cd FastDFS/ 3./make.sh 4./make.sh install

启动tracker
安装tracker,由于tracker运行程序就是fasfdfs,直接用配置文件运行即可
1cd /etc/fdfs 2cp tracker.conf.sample tracker.conf 3cp storage.conf.sample storage.conf 4vi tracker.conf 5 6修改如下数据 7# Tracker 数据和日志目录地址(此目录必须存在,子目录会自动创建) 8base_path=/opt/fastdfs/tracker 9# HTTP 服务端口 10http.server_port=80 11创建上面目录 12mkdir /opt/fastdfs/tracker 13启动 14systemctl start fdfs_trackerd设置开机启动chkconfig fdfs_trackerd on
启动错误记录:

1[root@VM_176_134_centos fdfs]# systemctl start fdfs_trackerd 2Job for fdfs_trackerd.service failed because the control process exited with error code. See "systemctl status fdfs_trackerd.service" and "journalctl -xe" for details. 3[root@VM_176_134_centos fdfs]# journalctl -xe 4Dec 28 12:02:22 VM_176_134_centos systemd[1]: fdfs_trackerd.service: control process exited, code=exited status=2 5Dec 28 12:02:22 VM_176_134_centos systemd[1]: Failed to start LSB: FastDFS tracker server. 6-- Subject: Unit fdfs_trackerd.service has failed 7-- Defined-By: systemd 8-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel 9-- 10-- Unit fdfs_trackerd.service has failed. 11-- 12-- The result is failed. 13Dec 28 12:02:22 VM_176_134_centos systemd[1]: Unit fdfs_trackerd.service entered failed state. 14Dec 28 12:02:22 VM_176_134_centos systemd[1]: fdfs_trackerd.service failed. 15Dec 28 12:02:22 VM_176_134_centos polkitd[1584]: Unregistered Authentication Agent for unix-process:3685:66989990 (system bus name :1.25092, object path /org/freedesktop/PolicyKit1/AuthenticationA 16Dec 28 12:02:40 VM_176_134_centos sshd[3703]: Invalid user ubnt from 206.189.225.113 17Dec 28 12:02:40 VM_176_134_centos sshd[3703]: input_userauth_request: invalid user ubnt [preauth] 18Dec 28 12:02:40 VM_176_134_centos sshd[3703]: pam_unix(sshd:auth): check pass; user unknown 19Dec 28 12:02:40 VM_176_134_centos sshd[3703]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=206.189.225.113 20Dec 28 12:02:42 VM_176_134_centos sshd[3703]: Failed password for invalid user ubnt from 206.189.225.113 port 36530 ssh2 21Dec 28 12:02:42 VM_176_134_centos sshd[3703]: Received disconnect from 206.189.225.113: 11: Bye Bye [preauth] 22Dec 28 12:02:51 VM_176_134_centos sshd[3712]: Invalid user admin from 206.189.225.113 23Dec 28 12:02:51 VM_176_134_centos sshd[3712]: input_userauth_request: invalid user admin [preauth] 24Dec 28 12:02:51 VM_176_134_centos sshd[3712]: pam_unix(sshd:auth): check pass; user unknown 25Dec 28 12:02:51 VM_176_134_centos sshd[3712]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=206.189.225.113 26Dec 28 12:02:52 VM_176_134_centos sshd[3712]: Failed password for invalid user admin from 206.189.225.113 port 43716 ssh2 27Dec 28 12:02:52 VM_176_134_centos sshd[3712]: Connection closed by 206.189.225.113 [preauth] 28Dec 28 12:03:01 VM_176_134_centos systemd[1]: Started Session 12492 of user root. 29-- Subject: Unit session-12492.scope has finished start-up 30-- Defined-By: systemd 31-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel 32-- 33-- Unit session-12492.scope has finished starting up. 34-- 35-- The start-up result is done. 36Dec 28 12:03:01 VM_176_134_centos CROND[3730]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &) 37Dec 28 12:03:10 VM_176_134_centos sshd[3750]: Invalid user eo from 106.37.75.74 38Dec 28 12:03:10 VM_176_134_centos sshd[3750]: input_userauth_request: invalid user eo [preauth] 39Dec 28 12:03:10 VM_176_134_centos sshd[3750]: pam_unix(sshd:auth): check pass; user unknown 40Dec 28 12:03:10 VM_176_134_centos sshd[3750]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=106.37.75.74 41Dec 28 12:03:12 VM_176_134_centos sshd[3750]: Failed password for invalid user eo from 106.37.75.74 port 56156 ssh2 42Dec 28 12:03:12 VM_176_134_centos sshd[3750]: Received disconnect from 106.37.75.74: 11: Bye Bye [preauth]
View Code
解决记录:

1上面错误日志可发现file /usr/local/bin/fdfs_trackerd does not exist! 2 3查找:find / -name fdfs_trackerd 4得到结果: 5/etc/rc.d/init.d/fdfs_trackerd 6/usr/bin/fdfs_trackerd 7/root/FastDFS/init.d/fdfs_trackerd 8/root/FastDFS/tracker/fdfs_trackerd 9检查trackerd.conf,并没指定此路径,难道在环境变量?不去折腾,直接复制,其它找不到的文件做同样处理 10 11cp /usr/bin/fdfs_trackerd /usr/local/bin/fdfs_trackerd 12cp /usr/bin/stop.sh /usr/local/bin/stop.sh 13cp /usr/bin/restart.sh /usr/local/bin/restart.sh
View Code
启动storage
由于storage和tracker运行的都是fastDFS程序,每一台服务器都部署一台fasfDFS,一台服务器是tracker,一台是storage。
1cd /etc/fdfs 2cp storage.conf.sample storage.conf 3vi storage.conf 4修改如下 5base_path=/opt/fastdfs/storage 6store_path0=/opt/fastdfs/filetracker_server=10.0.0.111:22122 7创建上面文件夹 8mkdir /opt/fastdfs/storage 9mkdir /opt/fastdfs/file 10启动systemctl start fdfs_storaged 11 12设置开机启动chkconfig fdfs_storaged on
启动问题记录:启不起来storage
解决方法: tracker_server=10.0.0.111:22122,不能写成127.0.0.1,必须写外网访问到的?
参考如下:

内部上传文件测试
切换目录:cd /etc/fdfs/
拷贝配置:cp client.conf.sample client.conf
修改配置:vi client.conf
base_path=/opt/fastdfs/client
tracker_server=10.200.67.5:22122
生成文件夹:mkdir /opt/fastdfs/client
生成测试文件:echo hello>>test.txt
上传文件:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.txt
上传结果:group1/M00/00/00/CshDBVwvEheAMjRsAAAABncc3SA527.txt

1[root@localhost fdfs]# ls 2anti-steal.jpg client.conf.sample http.conf mime.types mod_fastdfs.conf storage.conf storage.conf.sample tracker.conf tracker.conf.sample 3[root@localhost fdfs]# cp client.conf.sample client.conf 4[root@localhost fdfs]# vi client.conf 5[root@localhost fdfs]# hello >>test.txt 6-bash: hello: command not found 7[root@localhost fdfs]# echo hello>>test.txt 8[root@localhost fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.txt 9[2019-01-04 15:57:20] ERROR - file: ../client/client_func.c, line: 257, "/opt/fastdfs/client" can't be accessed, error info: No such file or directory 10[root@localhost fdfs]# mkdir /opt/fastdfs/client 11[root@localhost fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.txt 12group1/M00/00/00/CshDBVwvEheAMjRsAAAABncc3SA527.txt
View Code
在/opt/fastdfs/file/data/00/00可以找到刚刚上传的文件

1[root@localhost fdfs]# cd /opt/fastdfs/ 2[root@localhost fastdfs]# ls 3client file storage tracker 4[root@localhost fastdfs]# cd file/ 5[root@localhost file]# ls 6data 7[root@localhost file]# cd data/ 8[root@localhost data]# ls 900 06 0C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A 60 66 6C 72 78 7E 84 8A 90 96 9C A2 A8 AE B4 BA C0 C6 CC D2 D8 DE E4 EA F0 F6 FC 1001 07 0D 13 19 1F 25 2B 31 37 3D 43 49 4F 55 5B 61 67 6D 73 79 7F 85 8B 91 97 9D A3 A9 AF B5 BB C1 C7 CD D3 D9 DF E5 EB F1 F7 FD 1102 08 0E 14 1A 20 26 2C 32 38 3E 44 4A 50 56 5C 62 68 6E 74 7A 80 86 8C 92 98 9E A4 AA B0 B6 BC C2 C8 CE D4 DA E0 E6 EC F2 F8 FE 1203 09 0F 15 1B 21 27 2D 33 39 3F 45 4B 51 57 5D 63 69 6F 75 7B 81 87 8D 93 99 9F A5 AB B1 B7 BD C3 C9 CF D5 DB E1 E7 ED F3 F9 FF 1304 0A 10 16 1C 22 28 2E 34 3A 40 46 4C 52 58 5E 64 6A 70 76 7C 82 88 8E 94 9A A0 A6 AC B2 B8 BE C4 CA D0 D6 DC E2 E8 EE F4 FA 1405 0B 11 17 1D 23 29 2F 35 3B 41 47 4D 53 59 5F 65 6B 71 77 7D 83 89 8F 95 9B A1 A7 AD B3 B9 BF C5 CB D1 D7 DD E3 E9 EF F5 FB 15[root@localhost data]# cd 0 1600/ 01/ 02/ 03/ 04/ 05/ 06/ 07/ 08/ 09/ 0A/ 0B/ 0C/ 0D/ 0E/ 0F/ 17[root@localhost data]# cd 00 18[root@localhost 00]# ls 1900 06 0C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A 60 66 6C 72 78 7E 84 8A 90 96 9C A2 A8 AE B4 BA C0 C6 CC D2 D8 DE E4 EA F0 F6 FC 2001 07 0D 13 19 1F 25 2B 31 37 3D 43 49 4F 55 5B 61 67 6D 73 79 7F 85 8B 91 97 9D A3 A9 AF B5 BB C1 C7 CD D3 D9 DF E5 EB F1 F7 FD 2102 08 0E 14 1A 20 26 2C 32 38 3E 44 4A 50 56 5C 62 68 6E 74 7A 80 86 8C 92 98 9E A4 AA B0 B6 BC C2 C8 CE D4 DA E0 E6 EC F2 F8 FE 2203 09 0F 15 1B 21 27 2D 33 39 3F 45 4B 51 57 5D 63 69 6F 75 7B 81 87 8D 93 99 9F A5 AB B1 B7 BD C3 C9 CF D5 DB E1 E7 ED F3 F9 FF 2304 0A 10 16 1C 22 28 2E 34 3A 40 46 4C 52 58 5E 64 6A 70 76 7C 82 88 8E 94 9A A0 A6 AC B2 B8 BE C4 CA D0 D6 DC E2 E8 EE F4 FA 2405 0B 11 17 1D 23 29 2F 35 3B 41 47 4D 53 59 5F 65 6B 71 77 7D 83 89 8F 95 9B A1 A7 AD B3 B9 BF C5 CB D1 D7 DD E3 E9 EF F5 FB 25[root@localhost 00]# cd 00 26[root@localhost 00]# ls 27CshDBVwvEheAMjRsAAAABncc3SA527.txt 28[root@localhost 00]# pwd 29/opt/fastdfs/file/data/00/00
View Code
理论上给这个路径通过nginx映射出去就行了,没必要装模块
也就是说,nignx.conf加入server如下代码就行:
1location /group1/M00 { 2 #ngx_fastdfs_module; 3 alias /opt/fastdfs/file/data; 4 }
安装fastdfs-nginx-module模块
此处可能出现下载文件没有后缀:mv 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
解压:unzip 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
重命名:mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1 fastdfs-nginx-module-master
安装nginx
1上传安装包:put E:\yz_index\installPackage\nginx-1.14.0.tar.gz 2解压:tar -zxvf nginx-1.14.0.tar.gz 3切换目录:cd nginx-1.14.0 4安装时添加上面的模块:./configure --add-module=../fastdfs-nginx-module-master/src 5 6编译:make 安装:make install 启动:/usr/local/nginx/sbin/nginx 设置开机启动:vim /etc/rc.local 添加一行,内容如下:/usr/local/nginx/sbin/nginx 给权限:chmod 755 /etc/rc.local 查看安装模块:/usr/local/nginx/sbin/nginx -V

切换到fastdfs-nginx-module-master目录
复制配置文件到fdfs目录: cp src/mod_fastdfs.conf /etc/fdfs/
复制fastdfs解压部分文件到/etc/fdfs
cd /root/FastDFS/conf/
cp anti-steal.jpg http.conf mime.types /etc/fdfs/
nginx启用模块
在80端口下添加fastdfs-nginx模块
1location /group1/M00 { 2 ngx_fastdfs_module; 3}
listen 80 端口值是要与 /etc/fdfs/storage.conf 中的 http.server_port=80 (前面改成80了)相对应。如果改成其它端口,则需要统一,同时在防火墙中打开该端口。