Linux下安装Fastdfs

news2024/11/24 13:11:42

一、前期准备工作

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的关联模块

百度网盘链接及提取码如下:

链接:https://pan.baidu.com/s/1kFYCE76ckPA6AK3fMZ6cow 
提取码:wdzs

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_wd520521的博客-CSDN博客

 注意:在解压完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)相对应,如果改成其它端口,则需要统一,同时在防火墙中打开该端口

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/127067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服装行业进销存软件哪个好?

好用的进销存软件有以下评判标准: 1. 能否为企业带来效益。理清自身在进销存管理中的难点以及进销存软件需要具备的功能。 2. 是否简单实用,人员是否上手容易。选购软件不易太复杂,会给前期软件使用造成人力、物力等压力。 3. 进销存软件的…

【SpringBoot应用篇】SpringBoot集成AntiSamy防御XSS(跨站脚本攻击)--过滤器实现

【SpringBoot应用篇】SpringBoot集成AntiSamy防御XSS(跨站脚本攻击)--过滤器实现XSS介绍AntiSamy介绍AntiSamy使用pomUserUserControllerXssFilterXssRequestWrapper配置类XSS介绍 XSS:跨站脚本攻击(Cross Site Scripting),为不和…

4、MYSQL常用函数(字符串)

目录 abs(x):返回x的绝对值 ceil(x):返回大于x的最小整数 floor(x):返回小于x的最大整数 mod(x,y):返回x/y的模 Rand(&a…

分析激光焊接机焊接不牢固的原因

激光焊接机在焊接时为什么会出现焊接不牢固呢?是不是激光焊接设备出现问题了?当激光焊接机进行焊接加工时,出现材料之间的焊接不牢固这会影响整体质量。这时,用户不可避免地会质疑激光焊接机的效果我们也是可以理解的。实质出现激…

javaEE初阶---多线程(初阶)

一 : 学习目标 认识多线程掌握多线程程序的编写掌握多线程的状态掌握什么是线程不安全及解决思路掌握synchronized、volatile关键字 二 : 初识线程 2.1 线程概念 线程(thread)是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进…

django使用二——restful框架使用

背景 前言: 前篇django使用一,已将基本的项目、应用创建并运行;见:django使用一——规范化创建 本篇则针对ViewSet及rest_framework初使用做介绍; 闲笔: 两束平行宇宙射线射入黑盒,在人们充满…

《计算机网络》——第六章知识点

第六章思维导图如下: 应用层对应用程序的通信提供服务。 域名解析:根据域名找IP地址 域名结构 FTP是基于客户/服务器(C/S)的协议。 用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。依照FTP协议提供服务,进行文件传送的计算机就是FTP服…

对象类型的设计(简答题)

在实际项目开发中需要进行对象类型的设计,给你的问题是,在学生信息系统中需要你设计班级Classes类型和学生Student类型,为了便于数据的查询,需要建立对象之间的联系,比如一个班级有多个学生,每个学生属于一…

看完这篇,我不允许你还不会用Allegro显示PCB的3D模式

看完这篇,我不允许你还不会用Allegro显示PCB的3D模式 Allegro可以显示PCB的3D效果,利于查看和检查,如下图 具体操作如下 选择Set-up-user preferences选择Display

游戏党别错过,提升FPS试试这样

如果你准备畅玩游戏,却频繁掉帧,严重影响游戏体验,那这里有些提升FPS的小方法,游戏党别错过了。 整理主硬盘更改电源选项更新显卡驱动降低屏幕分辨率关闭其他应用程序并禁用启动项 方法一、整理主硬盘 1、打开文件资源管理器&am…

APP Inventor练习——蓝牙通信

文章目录前言一、蓝牙调试1.组件设计2.逻辑设计二、蓝牙对战1.组件设计2.逻辑设计3.效果展示总结前言 练习APP Inventor中蓝牙的使用,并为之前的项目APP小游戏——一个都不能死增加了蓝牙对战功能。 一、蓝牙调试 先写一个蓝牙调试的APP,用来收发文本 …

2023年七大网络攻击手段预测

受疫情和网络攻击的加持下,2022年对网络安全领域的人来说并不是轻松的一年,一系列备受瞩目的网络攻击、数据泄露事件打的网安人手忙脚乱,供应链攻击、勒索软件攻击、业务欺诈、关键基础设施攻击、大规模数据泄露、地缘政治相关黑客攻击等网络…

热点舆情监测软件方法,舆情监测软件介绍,舆情软件监测意义?

热点舆情监测是指监测和分析当前热门话题或事件的舆情监测。这种监测可以帮助企业、政府机构或媒体机构了解公众对当前热门话题或事件的看法,接下来TOOM舆情监测小编简单介绍热点舆情监测软件方法,舆情监测软件介绍,舆情软件监测意义? 一、…

java8后接口的默认方法

这里我们先看一个案例 我们创建一个包 包下创建一个接口 testInterface 参考代码如下 public interface testInterface {void show(); }然后 我们创建一个类型 realizationMethod 来实现这个接口 并重写这个show方法 realizationMethod 参考代码如下 public class realizat…

腊八节吃什么What to eat on the Laba Festival

农历十二月初八是中国的传统节日——腊八节,腊代表中国农历的十二月,而八是eight的发音,因此,这个节日被翻译成腊八。 The Laba Festival is a traditional Chinese holiday celebrated on the eighth day of the twelfth month …

Selenium switch_to 处理多Web页签窗口与封装

目录 前言 脚本案例 未做页签切换处理的 做了页签切换处理的脚本 面签切换封装 1、按面签位置切换封装 2、按页签标题切换封装 3、两个封装的调用 前言 在做自动化测试时,经常会遇到一个链接,它会重新打开一个Web签,如下图的样式 如…

Tif地形数据下载CTB切片nginx发布及cesium调用

访问这个网站:https://urs.earthdata.nasa.gov/ 需要注册 选择数据类型如下 点击Search,可以看到很多搜索结果 点击下载一项tif 下载成功后,需要切片的话,可以选择两种方式 1CesiumLab3,如下图 可以选择多个tif,输出类型选择散…

LeetCode118.杨辉三角 | LeetCode119.杨辉三角Ⅱ

LeetCode刷题记录 文章目录📜杨辉三角Ⅰ⌨C代码📜杨辉三角Ⅱ⌨C代码📜杨辉三角Ⅰ 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例1 输入: n…

Linux进程间通信

1.进程间通信介绍 1.1进程间通信目的 数据传输:一个进程需要将它的数据发送给另一个进程。资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某…

深度学习入门(六十六)循环神经网络——束搜索

深度学习入门(六十六)循环神经网络——束搜索)前言循环神经网络——束搜索课件贪心搜索穷举搜索束搜索总结教材1 贪心搜索2 穷举搜索3 束搜索4 小结前言 核心内容来自博客链接1博客连接2希望大家多多支持作者 本文记录用,防止遗忘…