官网下载进行编译安装
https://sourceforge.net/projects/fastdfs/files/
https://github.com/happyfish100/libfastcommon
https://sourceforge.net/projects/libfastcommon/files/
1、安装FastDFS
1、编译需要gcc环境,若没有使用如下命令进行安装:
yum install -y gcc gcc-c++
2、安装libevent(运行时需要)
yum -y install libevent
3、安装libfastcommon
# 将下载好的libfastcommon包上传到服务器并解压
unzip libfastcommon-master.zip
4、进入libfastcommon-master目录编译安装
./make.sh #编译
./make.sh install #安装
5、解压FastDFS包
tar -zxvf FastDFS_v5.08.tar.gz
6、进入FastDFS进行编译安装
./make.sh #编译
./make.sh install #安装
7、安装成功将安装目录下的conf下的文件拷贝到/etc/fdfs/下
cp ./conf/* /etc/fdfs/
8、配置启动tracker
# 切换到/etc/fdfs/目录下
# 修改tracker.conf :
> vi tracker.conf
# 修改以下内容:
> base_path=/home/tracker http.server_port=80 #配置http端口
# 使用如下命令启动/关闭/重启tracker
> /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start/stop/restart
9、配置启动storage
# 修改storage.conf:
vi storage.conf
# 修改以下内容:
base_path=/home/storage
store_path0=/home/storage
tracker_server=192.168.73.128:22122 ##改成自己的虚拟机IP地址
http.server_port=8088
#创建storage.conf中的base_path、store_path0路径
mkdir -p /fastdfs/storage
## 使用如下命令启动/关闭/重启storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start/stop/restart
## 配置client测试上传:
修改client.conf;
> vi client.conf
修改以下内容:
>base_path=/home/tracker
tracker_server=192.168.73.128:22122
测试上传
>/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /temp/FastDFS_v5.08.tar.gz
2、FastDFS与Nginx整合
fastdfs-nginx-module:
创建一个文件夹用来存放module:
> mkdir -p /usr/local/fast
解压:
> tar -zxf ./fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
修改module配置文件:
> vi /usr/local/fast/fastdfs-nginx-module/src/config
将/usr/local 修改为/usr
将之前的nginx结束进程并删除
> rm -rf nginx
重新进入到之前解压的nginx安装包中:
> cd /temp/nginx-1.17.0
配置module:
> ./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
编译安装:
> make && make install
修改fastdfs-nginx-module中的配置
复制module配置文件到fdfs目录
> cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
修改配置文件:
> vi mod_fastdfs.conf
具体内容如下:
> connect_timeout=10
tracker_server=192.168.73.128:22122
url_have_group_name = true
store_path0=/home/storage
创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录:
> ln -s /home/storage/data/ /home/storage/data/M00
编辑nginx.conf
进入/usr/local/nginx/conf目录下:
> cd /usr/local/nginx/conf
vim nginx.conf
修改后:server_name为你服务器IP,root为配置的storage路径
配置完成后nginx的执行命令为:
>关闭nginx命令:/usr/local/nginx/sbin/nginx -s stop
启动nginx命令:/usr/local/nginx/sbin/nginx
重启nginx命令:/usr/local/nginx/sbin/nginx -s reload
查看版本命令:/usr/local/nginx/sbin/nginx -v
如果遇到使用命令/usr/local/nginx/sbin/nginx -s reload,出现报错:nginx: [error] invalid PID number “” in “/usr/local/nginx/logs/nginx.pid”
解决命令如下:
第一种:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
第二种:
vi /etc/profile
在最后一行加上PATH=$PATH:/usr/local/nginx/sbin ,保存退出
如下图:
最后测试
检查fdfs及nginx是否启动,若未启动使用文档中命令进行启动
浏览器输入一下地址即可下载之前上传的文件:http://10.104.131.160/group1/M00/00/00/CmiDoF22YIGAKR-oAABsLRWMt2s871.jpg
FastDFS配置开机启动
>cd /etc/init.d/
chkconfig --add fdfs_trackerd
chkconfig fdfs_trackerd on
chkconfig --add fdfs_storaged
chkconfig fdfs_storaged on
Nginx配置开机启动
编写nginx.service文件:
vi /lib/systemd/system/nginx.service
内容如下:
[Unit]
Description=nginx service #描述服务
After=network.target #描述服务类别
[Service]
Type=forking #是后台运行的形式
ExecStart=/usr/local/nginx/sbin/nginx #为服务的具体运行命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload #为重启命令
ExecStop=/usr/local/nginx/sbin/nginx -s quit 停止命令
PrivateTmp=true #表示给服务分配独立的临时空间
[Install] #服务安装的相关设置,可设置为多用户
WantedBy=multi-user.target
设置开机启动:
systemctl enable nginx.service