【Liunx-后端开发软件安装】Liunx安装FDFS并整合nginx

【Liunx-后端开发软件安装】Liunx安装nacos

文章中涉及的相关fdfs相关软件安装包请点击下载:
https://download.csdn.net/download/weixin_49051190/89471122

一、简介
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

二、准备工作
创建相关软件存放的文件夹,我的目录是在/opt/soft/fastdfs下面,并进入到此目录。

cd /opt
mkdir -p soft/fastdfs
cd /opt/soft/fastdfs

1、更新系统

sudo yum update -y

2、安装依赖
安装必要的开发工具和库。

sudo yum install -y gcc-c++ make automake libtool pcre-devel zlib-devel openssl-devel libevent-devel

三、安装

步骤1: 安装libfastcommon
1、下载libfastcommon

wget https://github.com/happyfish100/libfastcommon/releases/download/v1.0.39/libfastcommon-v1.0.39.tar.gz

2、解压与安装
编译并安装libfastcommon。

tar -zxvf libfastcommon-v1.0.39.tar.gz
cd libfastcommon-1.0.39
./make.sh
./make.sh install

3、复制文件
libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下

cp /usr/lib64/libfastcommon.so /usr/lib/

步骤2: 安装FastDFS
1、下载FastDFS
下载FastDFS源码包,例如fastdfs-5.11.tar.gz。
2、解压与安装
类似地,解压并编译安装FastDFS。

tar -zxvf fastdfs-5.11.tar.gz
cd fastdfs-5.11
./make.sh
./make.sh install

3、安装成功后,将安装目录下的conf下的文件拷贝到/etc/fdfs/下

cp * /etc/fdfs/

4、创建fdfs存储文件夹

cd /opt
mkdir -p /opt/data/fdfs/storage
cd /opt/data/fdfs
mkdir tracker

5、配置tracker

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

修改相关路径
在这里插入图片描述在这里插入图片描述

6、启动服务

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

7、配置storage

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

8、修改相关内容
在这里插入图片描述
在这里插入图片描述
9、启动storage

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

9、检查启动是否成功
在这里插入图片描述
10、测试上传

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

在这里插入图片描述
/usr/bin/fdfs_test /etc/fdfs/client.conf upload+ 上传文件的路径

/usr/bin/fdfs_test /etc/fdfs/client.conf upload client.conf.sample

上传成功如下
在这里插入图片描述

步骤3: 安装FastDFS-NGINX-Module
1、上传fastdfs-nginx-module包并解压

在这里插入图片描述
2、修改相关依赖的位置
将里面原本是/usr/local/的路径改为/usr/,然后保存退出

vi fastdfs-nginx-module/src/config

在这里插入图片描述
3、上图最后可以看到会用到/etc/fdfs/mod_fastdfs.conf,我们将FastDFS-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下

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

修改mod_FastDFS.conf的内容

vi /etc/fdfs/mod_fastdfs.conf

修改内容如下:
在这里插入图片描述
在这里插入图片描述
4、将libfdfsclient.so拷贝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/

步骤4: 安装NGINX
1、上传nginx包并解压
进入nginx

cd nginx-1.8.0/

在这里插入图片描述
2、添加FastDFS-nginx-module模块并指定nginx安装目录,执行以下命令:

./configure \
--prefix=/usr/local/nginx \
--add-module=/opt/soft/fastdfs/fastdfs-nginx-module/src

3、编译安装

make
make install

4、修改Nginx配置文件

vim /usr/local/nginx/conf/nginx.conf
server {
        listen       80;
        server_name  192.168.10.11;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location ~/group([0-9])/M00 {
            #alias /fastdfs/storage/data;
            ngx_fastdfs_module;
        }
}

5、启动nginx

/usr/local/nginx/sbin/nginx

6、测试是否可用,用之前上传测试的链接地址直接放到浏览器就行

注意:如果电脑有防火墙的话需要开放端口
80、23000、22122

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=23000/tcp --permanent
firewall-cmd --zone=public --add-port=22122/tcp --permanent
firewall-cmd --reload

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

详解互联网基石之HTTPS

一、HTTPS简介 HTTPS(HyperText Transfer Protocol Secure)是一种用于安全通信的网络传输协议。它是HTTP的加密版本,通过使用TLS(Transport Layer Security)或其前身SSL(Secure Sockets Layer)来…

我不太建议大家早睡!

自从我早晨5点开始睡,这身体是越来越差了...... 开个玩笑~~ 大家好,我是前端队长, 自从上次科学减脂挑战完毕,我一个月瘦了6.4斤,我还是挺满意的, 唯一不开心的是,我这样…

vscode配置vue格式化代码不管用

所有配置都配好了就是无法使用自己想要的vetur格式化代码 后台发现调整默认格式化代码的顺序就可以, 修改该后就可以了

[面试题]MongoDB

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…

AI时代的音乐革命:创作更简单,灵魂在哪里?

#AI在创造还是毁掉音乐# 我是李涛,一名音乐创作者,最近一直在思考一个问题:AI到底是在创造音乐,还是在毁掉音乐? 几个月前,我第一次接触到AI音乐创作工具。它让我震惊,只需要输入几个关键词&a…

【Android面试八股文】自定义View执行invalidate()方法为什么有时候不会回调onDraw()?

文章目录 一、自定义View执行invalidate()方法为什么有时候不会回调onDraw()?1.1 invalidate 软件绘制流程1.2 invalidate源码分析1.2.1 skipInvalidate()方法1.2.2 invalidateChild方法1.2.2.1 硬件加速绘制1.2.2.2 软件刷新1.2.3 小结一、自定义View执行invalidate()方法为什…

论文《Universal Graph Convolutional Networks》笔记

【UGCN】论文提出一个基本问题,即是否不同的网络结构属性应该采用不同的传播机制。通过实验发现,对于完全同配性、完全异配性和随机性的网络,1-hop、2-hop和k-nearest neighbor(kNN)邻居分别更适合作为信息传播的邻域。…

怎么优化ArcEngine组件开发mfc程序界面?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

【Linux详解】缓冲区优化 | 进度条的实现 | Linux下git 的上传

目录 一. 缓冲区 1. 缓冲区概念 2. 缓冲区作用 2.1 提升读写效率 2.2 减少等待时间 3. 缓冲区刷新策略 3.4 特殊策略 4. 缓冲区存储位置 5. 总结 二. 实现进度条 引入:倒计时 process.c 三. Linux下git的上传 sum 一. 缓冲区 1. 缓冲区概念 缓冲区是…

数据库设计文档编写

PS:建议使用第三种方法 方法1:使用 Navicat 生成数据库设计文档 效果 先看简单的效果图,如果效果合适,大家在进行测试使用,不合适直接撤退,也不浪费时间。 随后在docx文档中生成目标字段的表格&#xf…

【必看】每个开发人员都应该知道的 10 个 GitHub 库

GitHub🌟:155K 被难题困住了?还是需要一些建议来指导你进入开发者行业?这个 仓库 将为你提供帮助。它拥有想要成为前端、后端或 DevOps 工程师需要的所有技术。你可以选择符合需求的或适合自己的,因为它提供了多种多…

npm全局安装依赖指定存放文件目录

引言 学校机房,每次默认在c盘装完 电脑关机重启都得重新安装,十分麻烦 1-创建依赖安装/缓存目录 2-打开终端输入设置安装目录位置的命令 npm set cache \你创建的缓存文件目录\ npm set prefix \你创建的global全局安装依赖文件目录\至此以后npm -g 依…

ChatGPT-4o也参加高考了,还写了六大考卷的全部作文! |【WeThinkIn出品】

写在前面 【WeThinkIn出品】栏目专注于分享Rocky的最新思考与经验总结,包含但不限于技术领域。欢迎大家一起交流学习💪 欢迎大家关注Rocky的公众号:WeThinkIn 欢迎大家关注Rocky的知乎:Rocky Ding AIGC算法工程师面试面经秘籍分享…

腰背肌筋膜炎怎么治疗最有效

腰背肌筋膜炎的治疗方法主要包括以下几种: 1、休息和物理治疗: 确保充足的休息,避免过度劳累,减少腰背部肌肉的负担。 物理治疗,如热敷或冷敷,可以缓解疼痛和肌肉紧张。热敷可以使用热水袋、热毛巾或电热垫…

SyntaxWarning警告

为什么conda环境运行hipcc vector_add.cpp -o vector_add -v会出现: SyntaxWarning: invalid escape sequence \w staticVars(search_namere.compile("gfx[0-9a-fA-F](:[-:\w])?")) SyntaxWarning: invalid escape sequence \A line_search_term re…

React 中的服务器渲染组件

在前后分离架构以前,所有的 Html 业务都是后端渲染,返回前前端显示,后端渲染把前后端逻辑耦合在一起,增大系统的复杂度,不易于扩展。React 中的 Server组件,准确的说是服务器进行渲染,无论是什么…

【笔记】事务隔离级别以及MVCC解决幻读

事务提交可能碰到的问题: (1)脏读:事务1对数据进行修改但还没提交,事务2读取修改后的数据,之后事务1执行错误,回滚了,此时事务2的数据是错误的脏数据。 (2)不…

Pytest框架中pytest.mark功能

文章目录 mark功能 1. 使用pytest.mark.skip 2. 使用pytest.mark.skipif 3. 使用 pytest.mark.xfail 4使用pytest.mark.parametrize 5 使用pytest.mark.自定义标记 6 使用pytest.mark.usefixtures pytest 的mark功能在pytest官方文档是这样解释的: https://…

02--MySQL数据库概述

目录 第10章 子查询 10.1 SELECT的SELECT中嵌套子查询 10.2 SELECT的WHERE或HAVING中嵌套子查询 10.3 SELECT中的EXISTS型子查询 10.4 SELECT的FROM中嵌套子查询 第11章 MySQL支持的数据类型 11.1 数值类型:包括整数和小数 1、整数类型 2、bit类型 3、小数类型 11.2…

CSDN使用

注意群和其他广告提示。 审核不通过原因: 版权 广告