网盘选择性对外开放 免费10~50G
速度(目前一般般,稳定1Mb/s)
内容 | 地址 |
---|---|
网盘 | http://dzzoffice.com/ |
内网穿透 | https://github.com/fatedier/frp |
无
公网的服务器(内网主机)有
公网的服务器(外网主机)部分请参考文章我以前发布的文章
(这还是一篇水文)其实这篇文章就是记一次搭建一次对外开放的一个内网网盘,采用的是我以前发布的博文 Centos 搭建 Frp 内网映射服务 支持。
所以嘛如果看了这个的话,这篇文章并不难(也并没有什么教程意义)。
本次搭建采用 Frp 版本为 v0.35.1 (Centos7系统)
创建两个地址,一个作为网盘
,一个作为后端
。
我创建的地址:
# | 地址 |
---|---|
网盘地址 | nas.x-lf.cn |
后端地址 | frp-admin.x-lf.cn |
依旧,万物先更新
yum -y update
下载 v0.35.1
版本(tar.gz压缩包)
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
进入文件夹编辑设置文件
服务端配置 frps.ini
客户端配置才用 frpc.ini
进入配置文件
# 进入文件夹
cd frp_0.35.1_linux_amd64/
# 进入配置文件
vim frps.ini
配置文件内容(按需修改)
[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
启动项目
./frps -c frps.ini
如果您程序挂在前台,那么关闭后台就会关闭服务,所以请使用Screen
以处理关闭问题。
或者参考文章:Centos 搭建 Frp 内网映射服务
依旧需要在主机内下载 frp
# 下载(建议相同版本)
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
载入配置
# 基本配置
[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
配置完毕启动项目
./frpc -c frpc.ini
这里,我采用的是 Cloudreve
的开源网盘
源码:https://github.com/cloudreve/Cloudreve
下载源码
选择对应CPU架构和系统,就可以操作了
构建
启动构建
./cloudreve
结束监听,打开对应目录
修改conf.ini
按需修改,不需要可以不动
[System]
Mode = master
Listen = :5212
SessionSecret = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HashIDSalt = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
以下是完整一个配置的文件
[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
修改完毕再次启动
./cloudreve
自启动
# 编辑配置文件
vim /usr/lib/systemd/system/cloudreve.service
将下文 PATH_TO_CLOUDREVE
更换为程序所在目录:
[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
启动服务
# 更新配置
systemctl daemon-reload
# 启动服务
systemctl start cloudreve
# 设置开机启动
systemctl enable cloudreve
管理指令
# 启动服务
systemctl start cloudreve
# 停止服务
systemctl stop cloudreve
# 重启服务
systemctl restart cloudreve
# 查看状态
systemctl status cloudreve