前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内网转发搭建一个网盘

内网转发搭建一个网盘

作者头像
筱锋xiao_lfeng
发布2022-03-16 18:11:01
1.3K0
发布2022-03-16 18:11:01
举报

网盘选择性对外开放 免费10~50G 速度(目前一般般,稳定1Mb/s)

搭建所需

源码(软件)

内容

地址

网盘

http://dzzoffice.com/

内网穿透

https://github.com/fatedier/frp

硬件

  1. 一台公网的服务器(内网主机)
  2. 一台公网的服务器(外网主机)
  3. 一台电脑(自己操作的)

前言

资源参考

部分请参考文章我以前发布的文章

废话

(这还是一篇水文)其实这篇文章就是记一次搭建一次对外开放的一个内网网盘,采用的是我以前发布的博文 Centos 搭建 Frp 内网映射服务 支持。 所以嘛如果看了这个的话,这篇文章并不难(也并没有什么教程意义)

搭建内网穿透

外网主机

本次搭建采用 Frp 版本为 v0.35.1 (Centos7系统)

创建域名

创建两个地址,一个作为网盘,一个作为后端。 我创建的地址:

#

地址

网盘地址

nas.x-lf.cn

后端地址

frp-admin.x-lf.cn

主机搭建

依旧,万物先更新

代码语言:javascript
复制
yum -y update

下载 v0.35.1 版本(tar.gz压缩包)

代码语言:javascript
复制
wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz

随后解压安装包

代码语言:javascript
复制
tar zxf frp_0.35.1_linux_amd64.tar.gz

进入文件夹编辑设置文件

服务端配置 frps.ini 客户端配置才用 frpc.ini

进入配置文件

代码语言:javascript
复制
# 进入文件夹
cd frp_0.35.1_linux_amd64/
# 进入配置文件
vim frps.ini

配置文件内容(按需修改)

代码语言:javascript
复制
[common]
# tunnel port通信管道
bind_port = 7000

# http和https
vhost_http_port = 80
vhost_https_port = 443

# 连接认证token
token = 123456

# 子域名(替换自己的)
subdomain_host = frp-admin.x-lf.cn

# 自定义404 页面,要用绝对路径哦! 
custom_404_page = /root/frp_0.35.1_linux_amd64/404.html 

# dashboard图形管理页面
dashboard_port = 81

dashboard_user = admin
dashboard_pwd = admin_pw

如果你的阿里云(服务商安全组)限制了端口请开放上面几个端口(如果您没有修改的话):7000,80,443,81

如果你还需要更多配置需求,全配置参数查询:FRP

启动项目

代码语言:javascript
复制
./frps -c frps.ini

如果您程序挂在前台,那么关闭后台就会关闭服务,所以请使用Screen以处理关闭问题。 或者参考文章:Centos 搭建 Frp 内网映射服务

内网主机

依旧需要在主机内下载 frp

代码语言:javascript
复制
# 下载(建议相同版本)
wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz
# 解压
tar zxf frp_0.35.1_linux_amd64.tar.gz
# 进入文件夹
cd frp_0.35.1_linux_amd64/
# 进入配置文件
vim frpc.ini

请注意,这里配置的是 frpc.ini 而不是 frps.ini

载入配置

代码语言:javascript
复制
# 基本配置
[common]
# 填写你后端搭建的 
server_addr = frp.xiaolfeng.xyz
# 端口默认的话不需要改(即后端的 tunnel port通信管道)
server_port = 7000
token = 123456

# 此处名字可自定义,例如[hello],中括号不可少
[ssh]
# 种类可填写tcp/udp/http/https/stcp(根据需要填写)
type = tcp
# 填写本地访问IP
local_ip = 127.0.0.1
# 本地访问端口
local_port = 22
# 远程访问端口
remote_port = 2201

# 这是个例子
[web]
# 协议为http(即80端口)
type = http
# 内部映射的IP
local_ip =127.0.0.1
# 内部映射为80端口
local_port = 80
# 远程端口不用设置,只能沿用frps下vhost_http_port ①
custom_domains = nas.x-lf.cn
remote_port = 8080

配置完毕启动项目

代码语言:javascript
复制
./frpc -c frpc.ini

内网服务器创建网站

这里,我采用的是 Cloudreve 的开源网盘

  • ✨ 特性
    • ☁️ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端
    • 📤 上传/下载 支持客户端直传,支持下载限速
    • 💾 可对接 Aria2 离线下载
    • 📚 在线 压缩/解压缩、多文件打包下载
    • 💻 覆盖全部存储策略的 WebDAV 协议支持
    • ⚡ 拖拽上传、目录上传、流式上传处理
    • 🗃️ 文件拖拽管理
    • 👩‍👧‍👦 多用户、用户组
    • 🔗 创建文件、目录的分享链接,可设定自动过期
    • 👁️‍🗨️ 视频、图像、音频、文本、Office 文档在线预览
    • 🎨 自定义配色、黑暗模式、PWA 应用、全站单页应用
    • 🚀 All-In-One 打包,开箱即用
    • 🌈 … …

源码:https://github.com/cloudreve/Cloudreve

搭建

下载源码

选择对应CPU架构和系统,就可以操作了

构建

启动构建

代码语言:javascript
复制
./cloudreve

结束监听,打开对应目录

修改conf.ini

按需修改,不需要可以不动

代码语言:javascript
复制
[System]
Mode = master
Listen = :5212
SessionSecret = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HashIDSalt = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

以下是完整一个配置的文件

代码语言:javascript
复制
[System]
; 运行模式
Mode = master
; 监听端口
Listen = :5000
; 是否开启 Debug
Debug = false
; Session 密钥, 一般在首次启动时自动生成
SessionSecret = 23333
; Hash 加盐, 一般在首次启动时自动生成
HashIDSalt = something really hard to guss

; SSL 相关
[SSL]
; SSL 监听端口
Listen = :443
; 证书路径
CertPath = C:\Users\i\Documents\fullchain.pem
; 私钥路径
KeyPath = C:\Users\i\Documents\privkey.pem

; 启用 Unix Socket 监听
[UnixSocket]
Listen = /run/cloudreve/cloudreve.sock

; 数据库相关,如果你只想使用内置的 SQLite数据库,这一部分直接删去即可
[Database]
; 数据库类型,目前支持 sqlite | mysql
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd_
; SQLite 数据库文件路径
DBFile = cloudreve.db

; 从机模式下的配置
[Slave]
; 通信密钥
Secret = 1234567891234567123456789123456712345678912345671234567891234567
; 回调请求超时时间 (s)
CallbackTimeout = 20
; 签名有效期
SignatureTTL = 60

; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false

; Redis 相关
[Redis]
Server = 127.0.0.1:6379
Password =
DB = 0

; 从机模式缩略图
[Thumbnail]
MaxWidth = 400
MaxHeight = 300
FileSuffix = ._thumb

修改完毕再次启动

代码语言:javascript
复制
./cloudreve

自启动

代码语言:javascript
复制
# 编辑配置文件
vim /usr/lib/systemd/system/cloudreve.service

将下文 PATH_TO_CLOUDREVE 更换为程序所在目录:

代码语言:javascript
复制
[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
After=mysqld.service
Wants=network.target

[Service]
WorkingDirectory=/PATH_TO_CLOUDREVE
ExecStart=/PATH_TO_CLOUDREVE/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed

StandardOutput=null
StandardError=syslog

[Install]
WantedBy=multi-user.target

启动服务

代码语言:javascript
复制
# 更新配置
systemctl daemon-reload

# 启动服务
systemctl start cloudreve

# 设置开机启动
systemctl enable cloudreve

管理指令

代码语言:javascript
复制
# 启动服务
systemctl start cloudreve

# 停止服务
systemctl stop cloudreve

# 重启服务
systemctl restart cloudreve

# 查看状态
systemctl status cloudreve
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搭建所需
    • 源码(软件)
      • 硬件
      • 前言
        • 资源参考
          • 废话
          • 搭建内网穿透
            • 外网主机
              • 创建域名
              • 主机搭建
            • 内网主机
            • 内网服务器创建网站
              • 搭建
              相关产品与服务
              云数据库 Redis
              腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档