FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」

这篇具有很好参考价值的文章主要介绍了FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

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

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

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

1. 本地搭建FastDFS文件系统

1.1 环境安装

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

yum -y install gcc-c++ 

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

yum -y install libevent

1.2 安装libfastcommon

进入local目录

cd /usr/local

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

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

获取后,上传到local目录下

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

解压libfastcommon

tar -zxvf libfastcommonV1.0.7.tar.gz

进入解压文件夹

cd libfastcommon-1.0.7/

编译

./make.sh

安装

./make.sh install

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

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

1.3 安装FastDFS

进入local目录

cd /usr/local

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

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

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

解压文件

tar -zxvf FastDFS_v5.05.tar.gz 

进入解压文件夹

cd FastDFS

编译

./make.sh 

安装

./make.sh install

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

cd conf/

拷贝

cp * /etc/fdfs/

1.4 配置Tracker

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

cd /etc/fdfs/

修改tracker.conf

vim tracker.conf

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

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

mkdir /home/fastdfs

然后启动

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

设置开机启动

vim /etc/rc.d/rc.local

将运行命令行添加进文件

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

1.5 配置Storage

进入/etc/fdfs目录

cd /etc/fdfs

修改storage.conf

vim storage.conf

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

创建对应fdfs_storage文件夹

mkdir /home/fastdfs/fdfs_storage

然后启动

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

设置开机自动启动

vim /etc/rc.d/rc.local

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

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

1.6 测试上传下载

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

修改/etc/fdfs/client.conf

vim /etc/fdfs/client.conf

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

base_path=/home/fastdfs

tracker_server=Linux局域网ip:22122

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

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

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

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](https://sourceforge.net/projects/fastdfs/files/FastDFS Nginx Module Source Code/fastdfs-nginx-module_v1.16.tar.gz/download)

进入 /usr/local/文件夹下

cd /usr/local/

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

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

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

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

cd fastdfs-nginx-module/src/

修改config文件

vim config

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

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

cp mod_fastdfs.conf /etc/fdfs/

修改mod_FastDFS.conf的内容:

vim /etc/fdfs/mod_fastdfs.conf

修改内容如下:

base_path=/home/fastdfs

tracker_server=Linux局域网ip地址:22122

url_have_group_name=true #url中包含group名称

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

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

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

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

创建nginx/client目录即可

mkdir -p /var/temp/nginx/client

1.8 安装Nginx

首先安装系列环境

yum -y install pcre pcre-devel  
yum -y install zlib zlib-devel  
yum -y install openssl openssl-devel

然后点击下载Nginx包:

nginx-1.16.1.tar.gz

上传到root目录下

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

解压,并进入解压文件夹

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

添加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=/usr/local/fastdfs-nginx-module/src

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

然后编译

make

安装

make install

1.9 配置Nginx

修改Nginx配置文件

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

添加server,添加后保存退出:

server {
        listen       8089;#为了防止80端口,我们改成8089
        server_name  192.168.59.133;#这里需要使用你本机的局域网ip

        location /group1/M00/{
                ngx_fastdfs_module;
        }
}

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

启动Nginx

/usr/local/nginx/sbin/nginx 

如果启动nginx出现以下错误:

nginx: [emerg] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)

可以执行如下命令,然后再次启动:

mkdir /var/run/nginx

设置开机自动启动。

vim /etc/rc.d/rc.local

将运行命令行添加进文件,然后保存退出:

/usr/local/nginx/sbin/nginx

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

关闭防火墙

service iptables stop

设置防火墙不自动启动

chkconfig iptables off

2. 局域网测试访问FastDFS

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

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

执行后,我们可以看到返回地址信息,表示成功

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

然后使用上面的地址,在浏览器访问,即可看到我们上传的图片,fastDFS搭建完成

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

3. 安装cpolar内网穿透

上面我们在本地Linux虚拟机安装了fastDFS分布式文件服务,下面我们安装cpolar内网穿透工具,通过cpolar的http公网地址,我们可以很容易远程也可以访问fastDFS里面上传的文件,而无需自己注册域名购买云服务器.下面是安装cpolar内网穿透步骤

cpolar官网:https://www.cpolar.com/

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里:

cpolar authtoken xxxxxxx

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

4. 配置公网访问地址

成功启动cpolar服务后,我们在浏览器上访问Linux局域网ip地址+9200端口,登录cpolar web UI管理界面。

登录成功后,点击左侧仪表盘的隧道管理——创建隧道,创建一个http协议的隧道指向上面设置的Nginx8089端口:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8089
  • 域名类型:免费选择随机域名
  • 地区:选择China VIP

点击创建

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

然后打开在线隧道列表,查看并且复制公网地址

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

然后打开浏览器,输入公网地址,访问我们上传在fastDFS里的文件,即可远程访问成功

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

5. 固定公网地址

由于刚刚创建隧道使用的是随机临时地址,该地址会在24小时内发生变化,为了长期和更稳定远程访问,我们接下来将这个公网地址配置为固定的,

5.1 保留二级子域名

需升级至基础套餐或以上才支持配置二级子域名,如有下载文件的需求,可以升级更高套餐以便获取更大的带宽,提高下载速度

登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。

  • 地区:选择服务器地区
  • 名称:填写您想要保留的二级子域名(可自定义)
  • 描述:即备注,可自定义填写

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

本例保留一个名称为fasttest的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置到隧道中去。

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

5.2 配置二级子域名

登录cpolar web ui管理界面。点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道,点击右侧的编辑

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

修改隧道信息,将二级子域名配置到隧道中:

  • 域名类型:改为选择二级子域名
  • Sub Domain:填写我们刚刚所保留的二级子域名(本例为fasttest

修改完成后,点击更新

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

6. 测试访问固定二级子域名

我们来测试一下访问配置成功的二级子域名,打开浏览器,输入公网地址加资源路径,访问我们上传在fastDFS里的文件,出现图片即可远程访问成功。现在,我们全网唯一的私有二级子域名,就创建好了。

而且这个地址也不会再随机变化,他是固定不变的,只要保持隧道在线,我们在外就可以通过这个公网地址,随时随地远程访问,无需公网IP,也不用设置路由器。

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」,YY滴《干货分享》,nginx,服务器,运维

转载自cpolar极点云的文章:FastDFS与Nginx结合搭建文件服务器,并内网穿透实现公网访问文章来源地址https://www.toymoban.com/news/detail-665855.html

到了这里,关于FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何本地搭建FastDFS文件服务器并实现远程访问【内网穿透】

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

    2024年02月04日
    浏览(31)
  • FastDFS与Nginx结合搭建文件服务器,并实现公网访问【内网穿透】

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

    2024年02月11日
    浏览(43)
  • FastDFS与Nginx结合搭建文件服务器,并内网穿透实现公网访问

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

    2024年02月01日
    浏览(33)
  • 从零开始搭建高效的文件服务器:FastDFS与Nginx完美结合,内网穿透实现公网访问

    目录 前言 1. 本地搭建FastDFS文件系统 1.1 环境安装 1.2 安装libfastcommon 1.3 安装FastDFS 1.4 配置Tracker 1.5 配置Storage 1.6 测试上传下载 1.7 与Nginx整合 1.8 安装Nginx 1.9 配置Nginx 2. 局域网测试访问FastDFS 3. 安装cpolar内网穿透 4. 配置公网访问地址 5. 固定公网地址 5.1 保留二级子域名 5.2 配置

    2024年02月03日
    浏览(45)
  • 开源轻量级分布式文件系统FastDFS本地部署并实现远程访问服务器

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

    2024年02月04日
    浏览(45)
  • 【WSL/WSL2-Ubuntu】突破界限:不使用服务器在一台Windows搭建Nginx+FastDFS

    随着软件开发领域的快速发展,跨平台的开发环境变得日益重要。Windows Subsystem for Linux(WSL)和WSL 2为开发者提供了在Windows操作系统上体验Linux环境的便捷途径。本文将引导读者深入探索WSL/WSL 2,并教授如何在其中搭建Nginx和FastDFS,为开发和测试提供更加灵活、高效的工作环

    2024年02月20日
    浏览(39)
  • nginx本地服务器的搭建(保姆式教学)

    1.1 静态资源访问(功能1) 前端项目在进行服务器部署的时候,如果基于tomcat则不能满足并发的需求,因此我们需要一种能够处理更高并发的适用于静态资源的服务器 1.2 代理服务器-负载均衡(功能2) 当微服务端口号比较多的时候这时候可以用到nginx做代理服务器-负载均衡

    2024年02月09日
    浏览(29)
  • 基于OpenSSL和nginx搭建本地https服务器(详细实操版)

    (꒪ꇴ꒪ ),Hello我是 祐言QAQ 我的博客主页:C/C++语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍 快上🚘,一起学习,让我们成为一个强大的攻城狮! 送给自己和读者的一句鸡汤🤔: 集中起来的意志可以击穿顽石! 作者水平很有限,如果发现错误,请在评论区指

    2024年02月20日
    浏览(25)
  • 利用Nginx搭建文件服务器

      工作过程中有时候许多大的镜像或者安装包等文件存储本地电脑太占空间并且下载不方便,不如搭建一个nginx文件服务器来存储文件,wget下载 官网地址: nginx news http://nginx.org/ 版本自行选择,也可以yum安装,方法自行百度 添加如下配置(修改配置文件前先备份  好习惯!

    2024年02月16日
    浏览(35)
  • 详解如何使用Nginx搭建文件服务器及实现文件服务

    公司最近有做文件服务器的需求,并且使用到了Nginx做负载均衡服务器,顺水推舟,就想着顺便用作文件服务器算了,实际上它也非常适合。 Nginx是一种轻巧、高效的Web服务器,用作文件服务器非常合适。但是如果需要一些高级功能,如FTP远程访问、多用户管理,可能需要选

    2024年02月09日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包