当前位置:   article > 正文

Linux系统搭建FastDFS文件服务结合内网穿透实现公网访问本地文件(1)

Linux系统搭建FastDFS文件服务结合内网穿透实现公网访问本地文件(1)

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

前言

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

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

配备一台公网服务器作为文件上传下载,花费资源和开销比较大,如果在本地搭建 FastDFS 服务,只把上传后的文件通过 cpolar 内网端口转发工具将文件配置可通过互联网访问,极大了减少服务器费用及开销,本文介绍详细搭建 FastDFS 教程,并结合 Nginx+cpolar 工具实现远程访问文件。

1. 本地搭建 FastDFS 文件系统

1.1 环境安装

由于 fastDFS 是由 c 语言编写,所以我们需要安装gcc

yum -y install gcc-c++

  • 1
  • 2

FastDFS 依赖libevent库,需要安装。执行如下命令:

yum -y install libevent

  • 1
  • 2

1.2 安装 libfastcommon

进入 local 目录

cd /usr/local

  • 1
  • 2

libfastcommon 是 FastDFS 官方提供的,libfastcommon 包含了 FastDFS 运行所需要的一些基础库。点击下面链接即可获取:

https://github.com/happyfish100/libfastcommon/releases/tag/V1.0.7

获取后,上传到local目录下

1679321808236

解压 libfastcommon

tar -zxvf libfastcommonV1.0.7.tar.gz

  • 1
  • 2

进入解压文件夹

cd libfastcommon-1.0.7/

  • 1
  • 2

编译

./make.sh

  • 1
  • 2

安装

./make.sh install

  • 1
  • 2

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

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

  • 1
  • 2

1.3 安装 FastDFS

进入 local 目录

cd /usr/local

  • 1
  • 2

点击下列地址,可获取下载 FastDFS_v5.05.tar.gz 文件:

https://sourceforge.net/projects/fastdfs/

下载文件后,上传FastDFS_v5.05.tar.gz/usr/local/

1679322527568

解压文件

tar -zxvf FastDFS_v5.05.tar.gz

  • 1
  • 2

进入解压文件夹

cd FastDFS

  • 1
  • 2

编译

./make.sh

  • 1
  • 2

安装

./make.sh install

  • 1
  • 2

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

cd conf/

  • 1
  • 2

拷贝

cp * /etc/fdfs/

  • 1
  • 2

1.4 配置 Tracker

接下来进行配置,安装成功后进入/etc/fdfs目录

cd /etc/fdfs/

  • 1
  • 2

修改 tracker.conf

vim tracker.conf

  • 1
  • 2

base_path=/home/yuqing/fastdfs改为base_path=/home/fastdfs

1679321890447

编辑后保存退出,然后创建一个对应的fastdfs文件夹

mkdir /home/fastdfs

  • 1
  • 2

然后启动

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

  • 1
  • 2

设置开机启动

vim /etc/rc.d/rc.local

  • 1
  • 2

将运行命令行添加进文件

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

  • 1
  • 2

1679321943356

1.5 配置 Storage

进入/etc/fdfs 目录

cd /etc/fdfs

  • 1
  • 2

修改 storage.conf

vim storage.conf

  • 1
  • 2

base_path=/home/yuqing/fastdfs改为base_path=/home/fastdfs

1679322281423

store_path0=/home/yuqing/fastdfs改为store_path0=/home/fastdfs/fdfs_storage

1679322153239

继续修改,设置 tracker 服务器:IP,tracker_server=Linux 局域网 ip:22122 ,设置好后保存退出

1679322199689

创建对应 fdfs_storage 文件夹

mkdir /home/fastdfs/fdfs_storage

  • 1
  • 2

然后启动

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

  • 1
  • 2

设置开机自动启动

vim /etc/rc.d/rc.local

  • 1
  • 2

将运行命令行添加到文件,然后保存

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

  • 1
  • 2

image-20230319225348678

1.6 测试上传下载

FastDFS 安装成功可通过/usr/bin/fdfs_test 命令测试上传、下载等操作。

修改/etc/fdfs/client.conf

vim /etc/fdfs/client.conf

  • 1
  • 2

修改如下内容,然后保存:

base\_path=/home/fastdfs

tracker\_server=Linux局域网ip:22122

  • 1
  • 2
  • 3
  • 4

1679322420123

接下来测试上传文件,这里上传了一张图片到/usr/local目录下,作为测试使用

1679322482853

FastDFS 上传文件使用格式:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload+ 上传文件的路径

然后按照格式,测试将 test23.png 图片上传到 FastDFS 中

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/test23.png

  • 1
  • 2

执行后,我们可以看到返回地址信息,表示成功,但是目前还访问不了,需要结合 Nginx 做访问下载

1679322601788

1.7 与 Nginx 整合

点击下载下面链接下载 fastdfs-nginx-module_v1.16:

https://sourceforge.net/projects/fastdfs/files/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz/download

进入 /usr/local/文件夹下

cd /usr/local/

  • 1
  • 2

上传fastdfs-nginx-module_v1.16.tar.gz

1679322637070

解压 fastdfs-nginx-module_v1.16.tar.gz

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

  • 1
  • 2

进入 src,然后编辑配置文件

cd fastdfs-nginx-module/src/

  • 1
  • 2

修改 config 文件

vim config

  • 1
  • 2

修改这三个位置,将里面原本是/usr/local/的路径改为/usr/,然后保存退出

1679322770876

然后将 FastDFS-nginx-module/src 下的 mod_FastDFS.conf 拷贝至/etc/fdfs/下

cp mod_fastdfs.conf /etc/fdfs/

  • 1
  • 2

修改 mod_FastDFS.conf 的内容:

vim /etc/fdfs/mod_fastdfs.conf

  • 1
  • 2

修改内容如下:

base_path=/home/fastdfs

tracker_server=Linux 局域网 ip 地址:22122

url_have_group_name=true #url 中包含 group 名称

store_path0=/home/fastdfs/fdfs_storage #指定文件存储路径

1679405651550

接下来将 libfdfsclient.so 拷贝至/usr/lib 下

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

  • 1
  • 2

创建 nginx/client 目录即可

mkdir -p /var/temp/nginx/client

  • 1
  • 2

1.8 安装 Nginx

首先安装系列环境

yum -y install pcre pcre-devel

  • 1
  • 2
yum -y install zlib zlib-devel

  • 1
  • 2
yum -y install openssl openssl-devel

  • 1
  • 2

然后点击下载 Nginx 包:

nginx-1.16.1.tar.gz

上传到 root 目录下

1679323002737

解压,并进入解压文件夹

tar -zxvf nginx-1.16.1.tar.gz && cd nginx-1.16.

  • 1
  • 2

添加 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 \


**先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里**

**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/be732540f6757ecab2b56e7b09127a9e.png)
![img](https://img-blog.csdnimg.cn/img_convert/ee7122200288821b46ec984ae59349d4.png)
![img](https://img-blog.csdnimg.cn/img_convert/91f2b8f744ee94d2116eecf7ac08794f.png)
![img](https://img-blog.csdnimg.cn/img_convert/7f4dd2d851a03d77741ec40fd5a20afa.png)
![img](https://img-blog.csdnimg.cn/img_convert/d56e3daf51d996af6da1a46776144cc2.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

s.log \
--with-http_gzip_static_module \


**先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里**

**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
[外链图片转存中...(img-PlVC55Eu-1714982652617)]
[外链图片转存中...(img-URLRsokp-1714982652618)]
[外链图片转存中...(img-nwO3NF3g-1714982652618)]
[外链图片转存中...(img-1fM3goeP-1714982652619)]
[外链图片转存中...(img-ipS05iQD-1714982652620)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/553429
推荐阅读
相关标签
  

闽ICP备14008679号