记一次在公司服务器上安装fastdfs的历程

1.确保已安装了gcc,unzip(基本工具)

2.安装libfastcommon-master

步骤:

unzip libfastcommon-master.zip

cd libfastcommon-master

./make.sh

./make.sh install

3.安装fastdfs-master

步骤:

unzip fastdfs-master-V5.05.zip

cd fastdfs-master

./make.sh

./make.sh install

4.配置并启动FastDFS

4.1配置tracker服务器

cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

vi /etc/fdfs/tracker.conf

# 修改的内容如下:

disabled=false                           # 启用配置文件

port=22122                               # tracker服务器端口(默认22122)

base_path=/fastdfs/tracker               # 存储日志和数据的根目录

新建目录:    /fastdfs/tracker

关闭防火墙:  chkconfig iptables off

启动tracker服务器:    /etc/init.d/fdfs_trackerd start

停止tracker服务器:    /etc/init.d/fdfs_trackerd stop

检查FastDFS Tracker Server是否启动成功:

ps -ef | grep fdfs_trackerd 

设置tracker服务开机启动:

chkconfig fdfs_trackerd on

备注:由于系统是ubuntu,无法使用chkconfig配置开机启动,centos无此问题,尚未解决!

4.2配置storage服务器:

cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

vi /etc/fdfs/storage.conf     

# 修改的内容如下:

disabled=false                           # 启用配置文件

port=23000                               # storage服务端口

base_path=/fastdfs/storage               # 数据和日志文件存储根目录

store_path0=/fastdfs/storage             # 第一个存储目录

tracker_server=192.168.56.101:22122      #  tracker服务器IP和端口

http.server_port=8888                       # http访问文件的端口

新建目录:    /fastdfs/storage

关闭防火墙:  chkconfig iptables off

启动storage服务器:/etc/init.d/fdfs_storaged start

停止storage服务器:/etc/init.d/fdfs_storaged stop

检查FastDFS Tracker Server是否启动成功: 

ps -ef | grep fdfs_storaged 

设置storage服务开机启动:

chkconfig fdfs_storaged on

备注:同上

5.测试FastDFS

5.1配置Tracker客户端

cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

vi /etc/fdfs/client.conf

# 修改以下配置,其它保持默认

base_path=/fastdfs/tracker

tracker_server=192.168.56.101:22122

5.2执行客户端上传命令

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf   /usr/local/mao/cs.jpg 
group1/M00/00/00/wKg4ZVh8U-SANp6OAAHhOIDwENQ234.jpg

能返回以上文件ID,说明文件已经上传成功

6使用nginx访问FastDFS

6.1在所有storage节点安装fastdfs-nginx-module

unzip fastdfs-nginx-module-master.zip

6.2安装Nginx

centos下直接运行yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

但由于ubuntu无法这样操作,所以我是最后一直报缺少pcre库,先是通过sudo apt search pcre查询库,再通过sudo apt-get install libpcre3 libpcre3-dev安装依赖库解决了,当然,安装过程中一直有没权限建立文件/文件夹就不提了

注意:在执行./configure配置nginx参数的时候,需要将fastdfs-nginx-moudle源码作为模块编译进去:

进入nginx-1.10.0.tar.gz解压后的目录

./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/模块存放位置/fastdfs-nginx-module-master/src

编译并安装:

make && make install

启动、停止、重启

# 1.启动nginx

nginx    (通过绝对路径启动的nginx,因为系统中有安装其他nginx,但是我不想改哪个nginx,所以重新安装nginx,不同的路径,还好最后没影响)

# 可通过ps -ef | grep nginx查看nginx是否已启动成功   

# 2.停止nginx

nginx -s stop

nginx亦未配置开机自启

7配置nginx与FastDFS关联配置文件

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

 

cp /usr/local/mao/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

vi /etc/fdfs/mod_fastdfs.conf

 

 

修改以下配置:

connect_timeout=10                     # 客户端访问文件连接超时时长(单位:秒)

base_path=/tmp                          # 临时目录

tracker_server=192.168.56.101:22122  # tracker服务IP和端口

storage_server_port=23000                 # storage服务端口

group_name=group1                      # 组名

url_have_group_name=true                  # 访问链接前缀加上组名

store_path0=/fastdfs/storage          # 文件存储路径

 

 

复制 FastDFS 的部分配置文件到/etc/fdfs 目录

 

cd /usr/local/mao/fastdfs-master/conf/

cp http.conf mime.types /etc/fdfs/

 

在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录

ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00

 

配置nginx访问storage文件

 

vi /opt/nginx/conf/nginx.conf

 

user nobody;

worker_processes 1;

events {

    worker_connections 1024;

}

http {

    include mime.types;

    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    server {

        listen 8888;

        server_name localhost;

        location ~/group([0-9])/M00 {

            ngx_fastdfs_module;

        }

        error_page 500 502 503 504 /50x.html;

 

        location = /50x.html {

            root html;

        }

    }

}

8启动测试

nginx -s reload

启动nginx后,如果打印出ngx_http_fastdfs_set pid=xxx,表示fastdfs-nginx-module模块加载成功了,xxx表示模块的进程ID。

如果报:

nginx: [error] open() "/opt/nginx/logs/nginx.pid" failed (2: No such file or directory)

则执行:nginx -c /opt/nginx/conf/nginx.conf

成功后访问ip:8888/   页面出现welcome to nginx!   就可以通过ip:8888/00/00/xxxxxxxxxxxxxxxxxxxxx.jpg访问图片资源了

 

总结:如果是centos配置并且服务器本来没有nginx的话,那直接安装上面一步步来就很轻松了,如果是ubuntu并且服务器本来就有nginx的话,那可能需要确认的就多了,比如原来nginx启动和安装的位置,要保证不冲突,其次各个依赖库的安装,最后绝对路径下启动以及开机自启的问题

猜你喜欢

转载自blog.csdn.net/weixin_41103806/article/details/84971365