linux离线安装fastdfs

创建并进入指定文件夹

mkdir -p /data/fastdfs
cd /data/fastdfs

1、准备或下载安装包

linux下载nfs命令 linux离线安装nfs_nginx

没有就下载

wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
wget http://nginx.org/download/nginx-1.12.1.tar.gz

2、安装gcc

2.1 检查系统有没有gcc

gcc -v

2.2 安装gcc

yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
yum -y install wget httpd-tools vim

3、安装libfastcommon

#进入目录
cd /data/fastdfs

3.1 进入libfastcommon压缩包目录解压,编译,安装

tar -zxvf V1.0.7.tar.gz

3.2 进入解压的libfastcommon-1.0.7目录,

cd libfastcommon-1.0.7

3.3 编译

./make.sh

3.4 安装

./make.sh install

3.5 最后,拷贝libfastcommon.so文件到usr/lib下 ,请按照自己的实际文件路径修改被复制路径

cp /data/fastdfs/libfastcommon-1.0.7/src/libfastcommon.so /usr/lib

4、安装FastDFS

#进入目录
cd /data/fastdfs

4.1 解压FastDFS_v5.05.tar.gz,然后编译安装FastDFS

tar -zxvf V5.05.tar.gz

4.2 进入fastdfs-5.05目录下

cd fastdfs-5.05

4.3 编译

./make.sh

4.4 安装

./make.sh install

4.5 安装成功后将目录conf内的文件拷贝到/etc/fdfs目录下:

cp /data/fastdfs/fastdfs-5.05/conf/* /etc/fdfs/

5、安装tracker

创建存储日志和数据的文件夹

mkdir -p /home/logs/fastdfs

5.1 修改tracker.conf文件

进入/etc/fdfs目录,修改tracker.conf文件。如果不存在,就拷贝tracker.conf.sample文件为tracker.conf,然后再修改

cd /etc/fdfs
 vi tracker.conf

修改的内容

base_path=/home/yuqing/fastdfs >>> base_path=/home/logs/fastdfs (解释:日志文件)

http.server_port=8080 >>> http.server_port=8888 (解释:端口,8888是docker部署就是这个端口)

store_group=group1 (解释:组名)

5.2 配置成功之后启动tracker

fdfs_trackerd /etc/fdfs/tracker.conf start

查看是否启动成功

netstat -unltp | grep tracker

看到这个就启动成功了

linux下载nfs命令 linux离线安装nfs_fastdfs_02

6、安装storage

创建存储日志和数据的文件夹

mkdir -p /home/fastdfs/data/storage
mkdir -p /home/fastdfs/logs/storage

由于storage和tracker运行的都是fastDFS程序,每一台服务器都部署一台fasfDFS,一台服务器是tracker,一台是storage

6.1 修改storage.conf文件

进入/etc/fdfs目录,修改storage.conf文件。如果不存在,就拷贝storage.conf.sample文件为storage.conf,然后再修改:

cd /etc/fdfs
 vi storage.conf

修改的内容

base_path=/home/yuqing/fastdfs >>> base_path=/home/fastdfs/logs/storage (日志路径)

store_path0=/home/yuqing/fastdfs >>> store_path0=/home/fastdfs/data/storage  (实际储存文件路径,可以配置多个)

tracker_server=192.168.209.121:22122 >>> tracker_server=192.168.1.241:22122 (连接tracker服务器地址)

group_name=group1 (必须和tracker的组名相同)http.server_port=8888 (这个端口也要改)

6.2 配置成功之后启动storage

fdfs_storaged /etc/fdfs/storage.conf start

查看是否启动成功

netstat -unltp | grep storage

看到这个就启动成功了

linux下载nfs命令 linux离线安装nfs_fastdfs_03

7、查看tracker和storage是否在通信

fdfs_monitor /etc/fdfs/storage.conf

出现截图中的Active就表示两个都正常启动了

linux下载nfs命令 linux离线安装nfs_服务器_04

8、测试上传文件

Tracker和storage都已经安装完成,使用命令测试文件上传:
FastDFS提供一个文件上传命令:usr/bin/fdfs_test 测试文件上传。测试上传需要连接tracker服务器,连接storage服务器。因此需要指定一个配置文件:client.conf配置文件,通过Client.conf连接tracker服务器。

8.1 修改client.conf

创建目录

mkdir -p /home/logs/client

进入目录

cd /etc/fdfs

修改client.conf

vi client.conf

修改内容

base_path=/home/logs/client (日志目录)

tracker_server=192.168.1.241:22122  (tracker端口)

http.tracker_server_port=8888  (http访问时的端口)

8.2 测试命令

创建一个临时目录

mkdir -p /data/temp

创建一个测试文件

touch /data/temp/test.txt

上传测试文件

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /data/temp/test.txt

返回文件地址如下就说明成功了

linux下载nfs命令 linux离线安装nfs_nginx_05

9、安装Nginx

进入压缩包目录

cd /data/fastdfs/

9.1 首先解压nginx-1.12.1.tar.gz

tar -zxvf nginx-1.12.1.tar.gz

9.2 进入nginx目录

cd nginx-1.12.1

9.3

./configure

9.4 编译

make

9.5 安装

make install

10、安装fastdfs-nginx-module

进入目录

cd /data/fastdfs/

10.1 首先解压fastdfs-nginx-module_v1.16.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

10.2 修改/fastdfs-nginx-module/src/config文件

vi fastdfs-nginx-module/src/config

去掉文件内容里所有的local(一共3个)

修改前的

ngx_addon_name=ngx_http_fastdfs_module
HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient"
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"

修改后的

ngx_addon_name=ngx_http_fastdfs_module
HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"

10.3 拷贝usr/lib64目录下库文件libfdfsclient.so

cp /usr/lib64/libfdfsclient.so /usr/lib

10.4 在nginx安装目录下执行如下命令:把module添加nginx中。通过设置安装参数方式添加模块

cd nginx-1.12.1
./configure --add-module=../fastdfs-nginx-module/src

10.5 重新安装编译

make && make install

10.6 查看Nginx的模块

/usr/local/nginx/sbin/nginx -V

10.7 复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改

cd /data/fastdfs/fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/

10.8 进入/etc/fdfs/修改mod_fastdfs.conf如下配置,其他默认

vi /etc/fdfs/mod_fastdfs.conf
# 连接超时时间
connect_timeout=10

# Tracker Server
tracker_server=192.168.1.241:22122

# StorageServer 默认端口
storage_server_port=23000

# 如果文件ID的uri中包含/group**,则要设置为true(基本上必须配置)
url_have_group_name = true

# Storage 配置的store_path0路径,必须和storage.conf中的一致
store_path0=/home/fastdfs/data/storage

# the base path to store log files
base_path=/home/fastdfs/logs/storage

10.9 配置iNginx ,进入/usr/local/nginx/conf目录下修改nginx.conf

注意:无论你在哪解压安装的。必须进这个目录/usr/local/nginx/conf下修改nginx.conf

cd /usr/local/nginx/conf
vim nginx.conf

修改配置,其它的默认
新增一个服务配置

server {
        listen       8888;
        server_name  fastdfs;

        location ~/group([0-9])/M00 {
            ngx_fastdfs_module;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }       
    }
#在文件存储目录下创建软连接,将其链接到实际存放数据的目录,注意这个文件存储的位置后面多个data目录是系统自动生成的
ln -s /home/fastdfs/data/storage/data /home/fastdfs/data/storage/data/M00

11、启动nginx

#启动nginx
cd /usr/local/nginx/sbin/
./nginx 

#也可以直接启动(执行了上面的那个就不要执行这个了)
/usr/local/nginx/sbin/nginx

查看nginx是否启动

ps -ef | grep nginx

接下来直接去访问