一、软件下载
二、安装fastdfs的tracker部分
A.配置fastdfs环境
1. gcc
yum install gcc-c++
2. libevent:
yum -y install libevent
3. libfastcommon:
- 在linux中创建个人文件存放目录(个人习惯,后面配置中用到的/zhanping文件夹都必须与此保持一致)
cd /
mkdir /zhanping
cd /zhanping
mkdir soft
mkdir install
- 通过SSH Secure File Transfer Client上传libfastcommonV1.0.7.tar.gz到/zhanping/soft目录下
- 解压libfastcommonV1.0.7.tar.gz到/zhanping/install目录下
cd /zhanping/soft
tar -zxvf libfastcommonV1.0.7.tar.gz -C /zhanping/install
- 安装libfastcommon-1.0.7
cd /zhanping/soft/libfastcommon-1.0.7
./make.sh
./make.sh install
- libfastcommon-1.0.7安装好后会自动将库文件拷贝至/usr/lib64下,由于fastdfs引用usr/lib目录,所以需要将/usr/lib64下的库文件拷贝至/usr/lib下
cp -r /usr/lib64/libfastcommon.so /usr/lib
B. tracker编译安装
- 通过SSH Secure File Transfer Client上传FastDFS_v5.05.tar.gz到/zhanping/soft目录下
- 解压FastDFS_v5.05.tar.gz到/zhanping/install目录下
cd /zhanping/soft
tar -zxvf FastDFS_v5.05.tar.gz -C /zhanping/install
- 编译安装fastdfs
cd /zhanping/install/FastDFS
./make.sh
./make.sh install
- 安装成功后,将安装目录下的conf下的以下文件拷贝到/etc/fdfs/下
cp -r /zhanping/install/FastDFS/conf/*.conf /etc/fdfs
cp -r /zhanping/install/FastDFS/conf/mime.types /etc/fdfs
C、配置fastdfs的tracker部分
- 安装成功后进入/etc/fdfs目录
cd /etc/fdfs
- 拷贝一份新的tracker配置文件
cp tracker.conf.sample tracker.conf
- 修改tracker.conf(也可以不配置,使用默认即可)
vim tracker.conf
将
base_path=/home/yuqing/fastdfs
改为:
base_path=/home/fastdfs
D、启动fastdfs的tracker部分
- 启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
- 设置开机自动启动(选做,不配置的话每次linux启动时则需要手动启动tracker)
vim /etc/rc.d/rd.local
将运行命令行添加进文件:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
三、安装fastdfs的storage部分
!!!注意:如果fastdfs的storage和fastdfs的tracker安装在同一个linux系统上,则以下A、B部分则可以不用做
A.配置fastdfs环境
同fastdfs的tracker部分
B. storage编译安装
同fastdfs的tracker部分
C、配置fastdfs的storage部分
- 安装成功后进入/etc/fdfs目录
cd /etc/fdfs
- 拷贝一份新的storage配置文件
cp storage.conf.sample storage.conf
- 修改storage.conf
vim storage.conf
#【1】.修改storage的base_path路径(选做)
#base_path需要和tracker部分的base_path保持一致,如果有修改过tracker的tracker.conf文件,则做以下修改:
base_path=/home/yuqing/fastdfs 改为:base_path=/home/fastdfs
#【2】.修改storage的资源存放路径(选做)
store_path0=/home/yuqing/fastdfs 改为:store_path0=/home/fastdfs/fdfs_storage
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=......
#store_path2=......
#......
#【3】.修改storage的对应的tracker_server的ip地址和端口(必做)
tracker_server=192.168.248.128:22122 #配置tracker服务器:IP (本地ip地址:22122)
#如果有多个则配置多个tracker_server
#tracker_server=......
#tracker_server=......
#......
D、启动fastdfs的storage部分
- 启动storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
- 设置开机自动启动(选做,不配置的话每次linux启动时则需要手动启动tracker)
vim /etc/rc.d/rd.local
将运行命令行添加进文件:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
四、上传文件测试
fastdfs安装成功可通过/usr/bin/fdfs_test测试上传、下载等操作
- 修改/etc/fdfs/client.conf
vim /etc/fdfs/client.conf
#【1】.修改client.conf的base_path路径(选做)
#base_path需要和tracker部分的base_path保持一致,如果有修改过tracker的tracker.conf文件,则做以下修改:
base_path=/home/yuqing/fastdfs 改为:base_path=/home/fastdfs
#【2】.修改client.conf的tracker_server的ip地址和端口(必做)
tracker_server=192.168.248.128:22122
- 上传文件
使用格式:
/usr/bin/fdfs_test 客户端配置文件地址 upload 上传文件
比如将/zhanping/resource下的图片上传到fastdfs中:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /zhanping/resource/download.jpg
上传成功后,终端将会输出类似以下的http文件访问路径:http://192.168.248.128/group1/M00/00/00/wKj4gFlogsuAOFWLAAAh6e61gnc931_big.jpg
对应storage服务器资源存放路径store_path下的:
data/00/00/wKj4gFlogsuAOFWLAAAh6e61gnc931_big.jpg
由于现在还没有和nginx整合无法使用http下载
五、fastdfs整合nginx
A.安装fastdfs-nginx-module
- 将从github上面下载的源文件fastdfs-nginx-module-master压缩成.tar.gz格式
- 通过SSH Secure File Transfer Client上传fastdfs-nginx-module.tar.gz到/zhanping/soft目录下
- 解压fastdfs-nginx-module.tar.gz到/zhanping/install目录下
cd /zhanping/soft
tar -zxvf fastdfs-nginx-module.tar.gz -C /zhanping/install
- 修改fastdfs-nginx-module/src/下的config文件
cd /zhanping/install/fastdfs-nginx-module/src
vim config
usr/local/路径都改为/usr/
- 将FastDFS-nginx-module/src下的mod_FastDFS.conf拷贝至/etc/fdfs/下
cp mod_FastDFS.conf /etc/fdfs/
- 修改mod_FastDFS.conf的内容
vi /etc/fdfs/mod_FastDFS.conf
#【1】.修改storage的base_path路径(选做)
#base_path需要和tracker部分的base_path保持一致,如果有修改过tracker的tracker.conf文件,则做以下修改:
base_path=/home/yuqing/fastdfs 改为:base_path=/home/fastdfs
#【2】.修改mod_FastDFS.conf的tracker_server的ip地址和端口(必做)
tracker_server=192.168.248.128:22122 #配置tracker服务器:IP (本地ip地址:22122)
#如果有多个则配置多个tracker_server
#tracker_server=......
#tracker_server=......
#......
#【3】.修改url_have_group_name=true(必做)
url_have_group_name=true #url中包含group名称
#【4】.指定storage的文件存储路径(选做)
store_path0=/home/yuqing/fastdfs 改为:store_path0=/home/fastdfs/fdfs_storage
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=......
#store_path2=......
#......
- 将libfdfsclient.so拷贝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
B.安装nginx
注意:需要先配置nginx的安装环境
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
- 通过SSH Secure File Transfer Client上传nginx-1.8.0.tar.gz到/zhanping/soft目录下
- 解压nginx-1.8.0.tar.gz到/zhanping/install目录下
cd /zhanping/soft
tar -zxvfnginx-1.8.0.tar.gz -C /zhanping/install
- 创建nginx所需安装目录
mkdir -p /var/temp/nginx/client
- 设置nginx编译参数设置如下:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/zhanping/install/fastdfs-nginx-module/src #注意这里配置的必须是是fastdfs-nginx-module的src目录绝对路径
- 编译安装
make
make install
- 配置/usr/local/nginx/conf/nginx.conf
vim /usr/local/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location /group1/M00 {
ngx_fastdfs_module;
}
}
}
- 重新加载nginx配置文件
cd /usr/local/nginx/sbin
./nginx -s reload
- 启动nginx
cd /usr/local/nginx/sbin
./nginx
六、开放Linux的对外访问的端口
- 查看端口占用情况
netstat -apn
- 开放上图标注端口,例如22122端口:
/sbin/iptables -I INPUT -p tcp --dport 22122 -j ACCEPT
/etc/rc.d/init.d/iptables save
#将修改永久保存到防火墙中
七、测试fastdfs整合nginx
- 再次上传文件
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /zhanping/resource/downloadimg.jpg
返回http://192.168.248.128/group1/M00/00/00/wKj4gFlogsuAOFWLAAAh6e61gnc931_big.jpg
-
通过浏览器访问以上地址,显示: