前言
此安装部署方式为公司项目的部署文档,也是由本人编写经多次安装检验,只要环境正常,理论上是决定没问题的。目前在官方镜像CentOS-7-x86_64-Everything-2009.iso制作的系统、华为鲲鹏云centos7上多次实践,均可以正常访问,希望大家安装前确定安装环境。由于鲲鹏云的CPU架构为armv8而centos7之前安装在amd上,所以个人认为应该与CPU没什么关系,可以放心安装。网上的安装方式很多都有问题,所以将相关的安装分享出来
安装
- 1.准备好要安装的文件
1.百度网盘
链接:https://pan.baidu.com/s/1ujOM1Sont-X_pqNwVt2B4w
提取码:d4u5
2.wget指令(不是很建议,因为不确定他们之间的版本信息,还是建议用lz的百度网盘下载方式)
获取Libfastcommon
wget https://github.com/happyfish100/libfastcommon/archive/master.zip
获取FastFDS
wget https://github.com/happyfish100/fastdfs/archive/master.zip
获取fastdfs-nginx-module
Wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip
下载后上传到服务器一个目录下,同时将shell中的位置切到对应目录下
- 2.安装各种依赖软件
yum -y install gcc gcc-c++ libstdc++-devel pcre-devel zlib-devel wget make
yum -y groupinstall 'Development Tools'
- 3.安装libfastcommon
unzip libfastcommon-master.zip
mv libfastcommon-master /usr/local/libfastcommon
cd /usr/local/libfastcommon
./make.sh
./make.sh install
- 4.安装fastdfs
解压fastdfs-master文件
unzip fastdfs-master.zip
移动到对应目录下
unzip fastdfs-master.zip
跳转到对应目录
cd /usr/local/fastdfs
编译与安装
./make.sh
./make.sh install
开放22122和23000端口。如果没有防火墙的省略,若是云服务器,记得开启对应的安全组
firewall-cmd --add-port=22122/tcp --permanent
firewall-cmd --add-port=2300/tcp --permanent
#重载入添加的端口
firewall-cmd --reload
验证:/etc/fdfs/ 下面应该有.sample四个文件,图为最终fdfs目录下的文件
- 5.配置tracker 修改base_path(文件存储路径)为/opt/fastdfs
mkdir /opt/fastdfs
cp tracker.conf.sample tracker.conf
vim tracker.conf
将tracker.conf中的base_path参数修改为如下路径
base_path=/opt/fastdfs
启动tracker
fdfs_trackerd /etc/fdfs/tracker.conf start
检查进程是否启动
ps -ef|grep tracker.conf
查看端口情况
netstat -tunlp|grep fdfs
查看日志
tail /opt/fastdfs/logs/trackerd.log
输出示例:INFO - FastDFS v5.12, base_path=/opt/fastdfs…
- 6.配置storage
复制storage文件并编辑
cp storage.conf.sample storage.conf
vim storage.conf
主要修改basepath,storepath以及tracker的连接地址以及storage的http服务端口配置等。
group_name=group1 # 组名(第一组为group1,第二组为group2,依次类推...)
base_path=/opt/fastdfs # 数据和日志文件存储根目录
store_path0=/opt/fastdfs # 第一个存储目录,第二个存储目录起名为:store_path1=xxx,其它存储目录名依次类推...
store_path_count=1 # 存储路径个数,需要和store_path个数匹配
tracker_server=服务器ip:22122 # tracker服务器IP和端口,有多个则添加多行。云服务器则填公网ip,内网填写局域网ip
启动storage
fdfs_storaged /etc/fdfs/storage.conf start
检测是否正常启动
netstat -unltp|grep fdfs
查看日志
tail /opt/fastdfs/logs/storaged.log
输出示例:
mkdir data path: FA …
mkdir data path: FB …
mkdir data path: FC …
mkdir data path: FD …
mkdir data path: FE …
mkdir data path: FF …
data path: /opt/fastdfs/data, mkdir sub dir done…
在任一存储节点上使用如下命令查看集群的状态信息,如果出现ipaddr = Active, 则表明storage服务器已经登记到tracker服务器
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
- 在storage上安装nginx和配置fastdfs-nignx模块
unzip fastdfs-nginx-module-master.zip
mv fastdfs-nginx-module-master /usr/local/fastdfs-nginx-module
tar -zxvf nginx-1.16.0.tar.gz
cd nginx-1.16.0/
#配置fastdfs-nignx模块
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src/
无报错情况下执行编译安装
make
make install
否则需要安装提示的库(根据提示按需安装)
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
如下则表示成功,代表已经成功添加了fastdfs-nginx-module模块
/usr/local/nginx/sbin/nginx -V
- 8.配置client
cd /etc/fdfs/
cp client.conf.sample client.conf
vim client.conf
修改以下几项
base_path=/opt/fastdfs # 数据和日志文件存储根目录
tracker_server=192.168.1.120:22122 # tracker服务器IP和端口,有多个按行添加(经过测试,无法使用localhost)
http.tracker_server_port=8080 # 服务端IP和端口号
上传一张图片进行测试,看是否返回路径,返回则成功(注意端口是否开放)
fdfs_upload_file /etc/fdfs/client.conf /home/test/a.jpg
- 9.配置fastdfs-nginx-module和nginx
cd /etc/fdfs/
cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf .
vim mod_fastdfs.conf
修改以下几项
base_path=/opt/fastdfs # 保存日志目录
tracker_server=192.168.1.120:22122 # tracker服务器IP和端口,有多个按行添加
url_have_group_name = true # 文件url中是否有group名
store_path0=/opt/fastdfs # 存储路径
拷贝http.conf,minme.types到/etc/fdfs下
cp /usr/local/fastdfs/conf/http.conf /usr/local/fastdfs/conf/mime.types /etc/fdfs/
- 10.防盗链配置,修改拷贝后的http.conf
*****此处为fastdfs的防盗链配置,配置后需要在代码中也进行修改否则无法访问图片,不需要使用的请跳过这一步骤****
*****此处为fastdfs的防盗链配置,配置后需要在代码中也进行修改否则无法访问图片,不需要使用的请跳过这一步骤****
*****此处为fastdfs的防盗链配置,配置后需要在代码中也进行修改否则无法访问图片,不需要使用的请跳过这一步骤****
事先准备好相应的防盗链的提示图片hotlinking.png,放置在/etc/fdfs/。必须要配置,如果开起来防盗链却不添加此名称的图片启动会报错
修改配置文件
cd /etc/fdfs/
vim http.conf
修改文件成如下参数
http.anti_steal.check_token=true
http.anti_steal.token_ttl=240
http.anti_steal.secret_key=FastDFS123Luntek20100514
http.anti_steal.token_check_fail=/etc/fdfs/hotlinking.png
- 11.修改文件成如下参数
vim /usr/local/nginx/conf/nginx.conf
配置好的样子
server {
listen 80;
location ~/group([0-9])/ {
alias /opt/fastdfs/data/;
ngx_fastdfs_module;
}
location / {
root html;
index index.html index.htm;
}
}
在nginx的nginx.conf文件中在listen 80处下添加如下配置
location ~/group([0-9])/ {
alias /opt/fastdfs/data/;
ngx_fastdfs_module;
}
重启nginx
/usr/local/nginx/sbin/nginx
重启nginx
/usr/local/nginx/sbin/nginx -s reload
然后访问上文件中生成的字符串拼接的url
格式如下:http://192.168.1.120/group1/M00/00/00/wKgBeF0tkduAP5J0AAR5MnVKolg001.jpg
若没有进行防盗链配置则应该显示图片,配置后会显示400 BadRequest
- 12.开机自启
编辑文件vim /etc/rc.d/rc.local
增加如下:
# fastdfs start
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
# nginx start
/usr/local/nginx/sbin/nginx
在centos7中, /etc/rc.d/rc.local 文件的权限被降低了,需要给rc.local 文件增加可执行的权限
chmod +x /etc/rc.d/rc.local
至此FastDFS已经安装完成,应该是没有任何问题的
若内网IP变化修改的文件
由于fastdfs与当前电脑的IP地址有关系,所以当重启服务器后可能出现无法访问的情况,这是需要修改服务器的ip,这里建议最好编写脚本开机后自动获取IP,将对应IP修改,这里说一下手动修改的文件
-
修改storage.conf中的 trackerserver修改 modfastdfs.conf中的tracker_server
-
fastdfs中三个配置文件中需要修改ip地址,/etc/fdfs/下四个配置文件:
1./etc/fdfs/storage.conf 的tracker_server参数
2./etc/fdfs/client.conf 的tracker_server参数
3./etc/fdfs/mod_fastdfs.conf 的tracker_server参数
来生还长,切勿惆怅,创作不易,随手点赞