程序安装目录自定义/xxxx/fastdfs/
1.下载安装Libfastcommon
1.1安装程序
# 下载Libfastcommon
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz
# 解压压缩包
tar -zxvf V1.0.39.tar.gz
# 进入目录
cd libfastcommon-1.0.39
# 执行编译
./make.sh
# 安装
./make.sh install
完成后提示入如下
1.2安装时遇到错误(没有则滤过)
# 错误提示
-bash: make: command not found
-bash: gcc: command not found
解决方案:
# yum安装 gcc
yum install gcc
1.3后边会启动tracker,会报错,所以建立libfastcommon.so软链接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
2.下载安装Fastdfs
2.1安装程序
# 下载Fastdfs
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
# 解压压缩包
tar -zxvf V5.11.tar.gz
# 进入目录
cd fastdfs-5.11
# 执行编译
./make.sh
# 安装
./make.sh install
完成后提示如下
2.2安装时遇到错误(没有则滤过)
#DOTO yum install perl
出现以下错误提示,则执行命令
./make.sh clean 之后重新 ./make.sh
data/fastdfs/fastdfs-5.11/storage/fdfs_storaged.c:130: undefined reference to `g_exe_name'
storage_dump.o: In function `fdfs_dump_global_vars':
/data/fastdfs/fastdfs-5.11/storage/storage_dump.c:36: undefined reference to `g_exe_name'
3.配置 Tracker 服务
以上两部安装后,在/etc/目录下会有一个fdfs的目录,进入它。会看到三个.sample后缀的文件,这是作者给我们的示例文件,我们需要把其中的tracker.conf.sample文件改为tracker.conf配置文件并修改它。
3.1 Tracker配置开始
# 进入目录
cd /etc/fdfs/
# 拷贝tracker实例配置文件
cp tracker.conf.sample tracker.conf
# 编辑tracker配置
vim tracker.conf
# 只需要修改以下两个配置项
#存储数据和日志文件的基本路径,并且一定要先建立/xxxx/fastdfs目录
# the base path to store data and log files
base_path=/xxxx/fastdfs/
# 服务器tracker上的HTTP端口
# HTTP port on this tracker server
http.server_port=xxxx
3.2 配置tracker软连接,并启动命令
# 配置tracker启动命令
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
# 启动服务
service fdfs_trackerd start
# 查看监听
netstat -unltp|grep fdfs
#缺失netstat,可以netstat安装
yum install net-tools
4.配置 Storage 服务
现在开始配置 Storage 服务,由于我这是单机器测试,你把 Storage 服务放在多台服务器也是可以的,它有 Group(组)的概念,同一组内服务器互备同步,这里不再演示。
4.1 Storage 配置开始
# 进入目录
cd /etc/fdfs/
# 拷贝storage实例配置文件
cp storage.conf.sample storage.conf
# 编辑storage配置
vim storage.conf
# 只需要修改以下两个配置项
# 存储数据和日志文件的基本路径,并且一定要先建立/xxxx/fastdfs/stroage目录
# the base path to store data and log files
base_path=/xxxx/fastdfs/storage
# 服务器tracker上的HTTP端口
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/xxxx/fastdfs/storage
#store_path1=/home/yuqing/fastdfs2
# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=192.168.xxx.xxx(当前服务器ip地址):22122
4.2 配置 Storage软连接,并启动命令
# 配置storage启动命令
ln -s /usr/bin/fdfs_storaged /usr/local/bin
# 启动服务
service fdfs_storaged start
注意
ln -s 之后如果启动的时候仍然不可以直接使用命令:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
# 查看监听
netstat -unltp|grep fdfs
5.安装Nginx,fastdfs-nginx-module模块
5.1Nginx模块安装
# 下载解压包
wget -c https://nginx.org/download/nginx-1.9.9.tar.gz
# 解压包
tar -zxvf nginx-1.9.9.tar.gz
# fastdfs-nginx-module模块下载
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip
# 解压astdfs-nginx-module模块
unzip master.zip
5.2配置 nginx 安装,加入fastdfs-nginx-module模块。这是和普通 Nginx 安装不一样的地方,因为加载了模块。
# 进入nginx
cd nginx-1.9.9
# configure编译时的缺失依赖
yum install -y pcre-devel
yum install openssl openssl-devel
# 编译nginx
./configure --with-http_ssl_module --with-http_stub_status_module --with-ipv6 --with-http_ssl_module --with-http_realip_module --with-stream --add-module=../fastdfs-nginx-module-master/src
# 默认执行make & make install 会报错
# 编辑fastdfs-nginx-module配置文件
vim /xxxxx/fastdfs/fastdfs-nginx-module-master/src/config
# 修改配置项
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"
确保上述两个目录中有文件.h .o等
# make的时候如果提示common_defined.sh没有找到
cp /usr/include/fastcommon/ /usr/indclude/fastdfs/
# 安装nginx
make & make install
5.3配置nginx 和fastdfs-module-nginx
配置nginx 和fastdfs-module-nginx
1.配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下。
# 进如fastdfs-module-nginx源码目录
cd /xxxx/fastdfs/software/fastdfs-nginx-module-master/src
# 修改mod_fastdfs配置
vim mod_fastdfs.conf
修改mod-fastdfs.conf配置只需要修改我标注的这三个地方就行了,其他不需要也不建议改变。
tracker_server=192.168.xxx.xxx(当前服务器ip地址):22122
url_have_group_name = true
store_path0=/xxxx/fastdfs/storage
# 拷贝配置文件到fdfs
cp mod_fastdfs.conf /etc/fdfs
2.接着我们需要把fastdfs-5.05下面的配置中还没有存在/etc/fdfs中的拷贝进去
# 进入fastdfs目录
cd /xxxx/fastdfs/fastdfs-5.11/conf/
# 考培文件到fdfs目录
cp anti-steal.jpg http.conf mime.types /etc/fdfs/
3.配置nginx,编辑nginx.conf文件
# 进入nginx安装目录
cd /usr/local/nginx/conf
# 编辑nginx配置文件
vi nginx.conf
在配置文件中加入:
location /group1/M00 {
root /xxxx/fastdfs/storage/;
ngx_fastdfs_module;
}
4.由于我们配置了group1/M00的访问,我们需要建立一个group1文件夹,并建立M00到data的软链接
# 需要建立一个group1文件夹
mkdir /xxxx/fastdfs/storage/data/group1
# M00到data的软链接
ln -s /xxx/fastdfs/storage/data /xxx/fastdfs/storage/data/group1/M00
6.测试上传访问
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
vim /etc/fdfs/client.conf
cd /usr/bin
vim test.txt
fdfs_test /etc/fdfs/client.conf upload test.txt