Linux下安装Fastdfs全过程

 更新时间:2023年12月12日 10:07:47   作者:wd520521  
这篇文章主要介绍了Linux下安装Fastdfs全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、前期准备工作

1、需要提前下载的安装包

(1)libfatscommon-1.0.43:FastDFS分离出的一些公用函数包

(2)fastdfs-6.06:FastDFS本体包

(3)nginx:nginx-1.23.1

(4)fastdfs-nginx-module-1.22:FastDFS和nginx的关联模块

2、安装所需要环境 

(1)centos安装:

yum install -y gcc gcc-c++
yum -y install libevent

(2) ubuntu安装:

sudo apt install build-essential

 二、安装并配置fsatdfs

1、解压并提前下载好的安装包

(1)将提前下载好的安装包放在/opt/fastdfs目录中

mkdir -p /opt/fastdfs

(2)编译并安装libfatscommon-1.0.43

解压安装包libfastcommon-1.0.43.tar.gz

tar -zxvf libfastcommon-1.0.43.tar.gz

进入 libfastcommon-1.0.43文件夹

cd libfastcommon-1.0.43

编译并安装

./make.sh
 
./make.sh install

(3)编译并安装fastdfs-6.06.tar.gz

解压fastdfs-6.06.tar.gz

tar -zxvf fastdfs-6.06.tar.gz

进入fastdfs-6.06目录

cd fastdfs-6.06

安装并编译

./make.sh
 
./make.sh install

将fastdfs安装文件夹下的配置文件拷贝到/etc/fdfs目录下 

cp /opt/fastdfs/fastdfs-6.06/conf/* /etc/fdfs/

注意:我的安装目录在/opt/fastdfs,大家根据自己的安装目录去复制,/etc/fdfs/是自动生成的,无须大家自己创建。

(4)配置tracker服务

进入/etc/fdfs目录

cd /etc/fdfs

修改tracker配置文件中的tracker工作目录

vim tracker.conf
base_path=/usr/local/fastdfs/tracker 

保存编辑

按下ESC
 
:wq

创建tracker工作目录

mkdir /usr/local/fastdfs/tracker -p

启动tracker服务

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

查看是否启动成功

netstat -unltp | grep tracker

(5)配置storage服务

进入/etc/fdfs目录

cd /etc/fdfs

修改storage配置文件

vim storage.conf

修改storage的工作空间

base_path=/usr/local/fastdfs/storage 

修改storage的存储空间

store_path0=/usr/local/fastdfs/storage

修改tracker的ip

#你的服务器ip或者本地ip
tracker_server=114.xxx.xxx.184:22122

保存编辑

按下ESC
 
:wq

创建storage的工作空间和存储空间的目录:

mkdir /usr/local/fastdfs/storage -p 

注意:我这里是两个目录一样,大家如果不一样可以分开创建

启动storage 服务

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start 

查看是否启动成功 

netstat -unltp | grep storage

查看tracker和storage是不是在通信

fdfs_monitor /etc/fdfs/storage.conf

出现ACTIVE,表示二者均正常启动,至此就可以进行上传文件测试了 

(6)测试上传

进入/etc/fdfs目录

cd /etc/fdfs

修改配置文件client.conf

vim client.conf
base_path=/usr/local/fastdfs/client
tracker_server=114.xxx.xxx.184:22122

注意:tracker的ip 要与上面配置保持一致

创建目录:

mkdir /usr/local/fastdfs/client 
echo "Hello Fastdfs">index.html
 
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/index.html

返回结果为:

因为我nginx端口为8888并不是80,所以要在返回结果的IP后加端口号8888

http://114.xxx.xxx.184:8888/group1/M00/00/00/cnOzuGOtUMCADdhzAAAADjoCoNM64_big.html

但是目前还不能访问,因为没有配置nginx

测试上传图片(命令):

 fdfs_upload_file /etc/fdfs/client.conf anti-steal.jpg
 
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg

(7)配置nginx

解压fastdfs-nginx-module-1.22.tar.gz

tar -zxvf fastdfs-nginx-module-1.22.tar.gz

进入fastdfs-nginx-module-1.22的src目录下

cd fastdfs-nginx-module-1.22/src/

复制配置文件mod_fastdfs.conf到/etc/fdfs目录下

cp mod_fastdfs.conf /etc/fdfs

修改/fastdfs-nginx-module/src/config文件 把usr/local改为usr 

vim config

安装nginx

参考链接:linux下安装nginx

注意:在解压完nginx后执行./configure需改为如下命令,需要增加一个fastdfs-nginx-module模块

./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=/opt/fastdfs/fastdfs-nginx-module-1.22/src

注意:上面的加不加无所谓,最重要的是最后一条--add-module=/opt/fastdfs/fastdfs-nginx-module-1.22/src,大家一定要换成自己的安装路径

进入/etc/fdfs/目录

cd /etc/fdfs

修改mod_fastdfs.conf配置文件

vim mod_fastdfs.conf
base_path=/usr/local/fastdfs/tmp
tracker_server=114.xxx.xxx.184:22122
url_have_group_name = true
store_path0=/usr/local/fastdfs/storage

下面是一些配置的介绍,大家可以参考根据自己的需求修改

connect_timeout=10   # 连接超时时间
 
tracker_server=192.168.255.131:22122   # Tracker Server
 
storage_server_port=23000   # StorageServer 默认端口
 
url_have_group_name =true   # 如果文件ID的uri中包含/group**,则要设置为true
 
store_path0=/fastdfsapp/data/storage 
 
# Storage 配置的store_path0路径,必须和storage.conf中的一致
 
base_path=/fastdfsapp/logs/storage   #日志路径
 
group_count = 1

创建tmp目录

mkdir /usr/local/fastdfs/tmp 

修改nginx配置文件:

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

注意:listen 8888 端口值是要与 /etc/fdfs/storage.conf 中的 http.server_port=8888 (默认8888) 相对应,如果改成其它端口,则需要统一,同时在防火墙中打开该端口,当然tracker.conf中的 http.server_port=8080(默认8080)和他们保持一致最合适不过

server {
 
        listen           8888;
        # 这里不需要改成你的本地ip或者服务器ip
        server_name       localhost;    
 
        location /group1/M00 {
 
                ngx_fastdfs_module;
 
        }
 
}

下面是另一种方式,大家可以参考一下:

# location 的配置,如果有多个group则配置location ~/group([0-9])/M00 ,没有则不用配group
location ~ /group([0-9])/M00 {
 
    ngx_fastdfs_module;
 
}

重启nginx

cd /usr/local/nginx/sbin
 
./nginx -s reload

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Jdk1.8的安装简易教程(Linux和windows)

    Jdk1.8的安装简易教程(Linux和windows)

    本文通过一段简易的代码给大家介绍Jdk1.8的安装(Linux和windows),非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-08-08
  • 怎么禁用 Ubuntu 服务器中终端欢迎消息中的广告

    怎么禁用 Ubuntu 服务器中终端欢迎消息中的广告

    这篇文章主要介绍了怎么禁用 Ubuntu 服务器中终端欢迎消息中的广告,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • 学习Centos7软raid5的挂载

    学习Centos7软raid5的挂载

    本篇文章给大家通过详细步骤介绍了Centos7软raid5的挂载的方法,有需要的读者们学习下吧。
    2018-02-02
  • Linux下Oracle设置定时任务备份数据库的教程

    Linux下Oracle设置定时任务备份数据库的教程

    这篇文章主要介绍了Linux下Oracle设置定时任务备份数据库的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 详解为新版Apache服务器开启HTTP/2支持的方法

    详解为新版Apache服务器开启HTTP/2支持的方法

    这篇文章主要介绍了在Apache服务器中开启HTTP/2的方法,HTTP/2被称为未来的新HTTP协议,需要的朋友可以参考下
    2015-12-12
  • 详解Linux系统中的tempfs与/dev/shm

    详解Linux系统中的tempfs与/dev/shm

    /dev/shm是Linux非常有用的一个目录,它就是所谓的tmpfs,也可以称之为临时文件系统(不是块设备),类似oracle中的临时表空间一样,用于加速和优化系统。下面这篇文章主要给大家介绍了Linux系统中tempfs与/dev/shm的相关资料,需要的朋友可以参考下。
    2017-02-02
  • linux wget下载tomcat方式

    linux wget下载tomcat方式

    这篇文章主要介绍了linux wget下载tomcat方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 基于linux配置selenium环境并实现运行

    基于linux配置selenium环境并实现运行

    这篇文章主要介绍了基于linux配置selenium环境并实现运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • socket unix domain IPC的实例代码

    socket unix domain IPC的实例代码

    下面小编就为大家带来一篇socket unix domain IPC的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux下RPM打包制作过程

    Linux下RPM打包制作过程

    这篇文章主要介绍了Linux下RPM打包制作的详细流程,并分享了相关实例代码,一起学习下。
    2018-02-02

最新评论