使用免费绿色工具chfs,将文件夹共享成网盘
cac55 2024-10-25 10:30 67 浏览 0 评论
需求:
业务需求方有个需要将apk包上传到服务器中,通过chfs可以将服务器目录共享出来,可以可以登录后台自行上传apk文件包。
本文就教大家三个知识点
1.centos7下使用chfs,共享目录。
2.使用shell脚本,后台运行chfs
3.脚本使用脚本监控chfs是否运行,如果没有运行则重启脚本。
4.使用nginx反向代理(不使用IP地址)。
什么是chfs
官网: http://iscute.cn/chfs
CuteHttpFileServer/chfs是一个免费的、HTTP协议的文件共享服务器,使用浏览器可以快速访问。它具有以下特点:
- 单个文件,核心功能无需其他文件
- 跨平台运行,支持主流平台:Windows,Linux和Mac
- 界面简洁,简单易用
- 支持扫码下载和手机端访问,手机与电脑之间共享文件非常方便
- 支持账户权限控制和地址过滤
- 支持快速分享文字片段
- 支持webdav协议
与其他常用文件共享方式(如FTP,飞秋,网盘,自己建站)相比,具有使用简单,适用场景更多的优点,在个人使用以及共享给他人的场景中非常方便快捷。
一、linux下安装部署
系统说明
系统:centos7 配置:2C2G+100G IP:192.168.1.4 软件: nginx1.16+php5.6
下载并解压
下载对应的chfs工具:http://iscute.cn/tar/chfs/2.0/
cd /data/wwwroot/web/
mkdir chfs && cd chfs
wget http://iscute.cn/tar/chfs/2.0/chfs-linux-amd64-2.0.zip
备用下载:http:// js.funet8.com/centos_software/chfs-linux-amd64-2.0.zip
unzip chfs-linux-amd64-2.0.zip
chmod +x chfs
防火墙开启端口
根据实际端口开启9000端口,修改你自己的端口防火墙
iptables:
iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
service iptables save
systemctl restart iptables
firewall:
firewall-cmd --zone=public --add-port=9000/tcp --permanent # 开放 9000 端口
firewall-cmd --reload # 重启firewall
启动命令
只允许本机访问:
# ./chfs --port=9000 \
--path="/data/wwwroot/web/" \
--allow="127.0.0.1,192.168.1.164" \
--rule="::|admin:123456:rwd|user01:123456:rwd|user02:123456:r"
浏览器访问: ip+端口
http://192.168.1.4:9000
非192.168.1.164或者 127.0.0.1 客户端访问则是Forbidden
二、使用shell脚本,后台运行chfs
# vi /data/wwwroot/web/chfs/chfs_start.sh
填写以下:
#!/bin/bash
### 启动chfs
cd /data/wwwroot/web/chfs/
./chfs --port=9000 \
--path="/data/wwwroot/web/apk_download/" \
--allow="127.0.0.1,192.168.1.164" \
--rule="::|admin:123456:rwd|user01:123456:rwd|user02:123456:r"
### 使用:
# chmod +x /data/wwwroot/web/chfs/chfs_start.sh
# nohup /data/wwwroot/web/chfs/chfs_start.sh &
三、监控脚本
脚本使用脚本监控chfs是否运行,如果没有运行则重启脚本
将脚本定时任务中,每隔5分钟检测一次进程,chfs_start,如果没有检测到,则启动。
vi /data/wwwroot/web/chfs/jiankong_app.sh
填写以下:
#!/bin/bash
#sh的文件名不要有grep的关键字
###########################################################
# vi /data/wwwroot/web/chfs/jiankong_app.sh
# chmod +x /data/wwwroot/web/chfs/jiankong_app.sh
# crontab 定时
# echo '*/5 * * * * www /data/wwwroot/web/chfs/jiankong_app.sh' >> /etc/crontab
# systemctl restart crond
LogFile="/data/wwwroot/web/chfs/jiankong_app.log"
process_pid=`ps -aux|grep -v 'grep'|grep -c 'chfs_start'`
#echo "$process_pid"
#关键字的个数,可以使用 grep -c
if [ $process_pid -eq 0 ]
then
cd /data/wwwroot/web/chfs/
nohup /data/wwwroot/web/chfs/chfs_start.sh &
now=`date +%Y-%m-%d[%H:%M:%S]`
echo "at $now restart chfs" >> $LogFile
fi
四、nginx反向代理
nginx的配置如下:
upstream chfs_web {
keepalive 4000;
server 127.0.0.1:9000 max_fails=3 fail_timeout=30s;
}
server {
listen 80;
server_name tool-chfs.XXX.com;
access_log /data/wwwroot/log/tool-chfs.XXX.com-access.log main_aliyun;
error_log /dev/null;
location / {
client_max_body_size 1000m;
proxy_pass http://chfs_web;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#nginx报错:client intended to send too large body: 29826117 bytes
#解决方法: client_max_body_size 1000m;
client_max_body_size,如果上传文件很大则,则需要修改client_max_body_size的值。
官方常用命令
//都使用默认参数,共享目录为程序运行目录,监听端口号为80
chfs
//共享目录为D盘,监听端口号为8080
chfs --path="d:/" --port=8080
//共享目录为"d:\\projects"和"e:\\nsis",监听端口号为80
chfs --path="d:\\projects|e:\\nsis"
//白名单模式,允许192.168.1.2-192.168.1.100以及192.168.1.200进行访问
chfs --allow="192.168.1.2-192.168.1.100,192.168.1.200"
//黑名单模式,禁止192.168.1.2-192.168.1.100以及192.168.1.200进行访问
chfs --allow="not(192.168.1.2-192.168.1.100,192.168.1.200)"
//匿名用户具有只读权限(默认情况下匿名用户具有读写权限)
//账户ceshizu,密码为ceshizu123,对根目录的权限为只读,但对test目录具有读写权限
//账户yanfazu,密码为yanfazu123,对根目录的权限为只读,但对yanfa目录具有读写权限
chfs --rule="::r|ceshizu:ceshizu123:r:test:rw|yanfazu:yanfazu123:r:yanfa:rw"
//匿名用户什么权限都没有(默认情况下匿名用户具有读写权限)
//账户admin,密码为admin123,具有读写权限
//账户zhangsan,密码为zhangsan123,对根目录的权限为不可读写,但对zhangsanfiles目录具有读写权限
chfs --rule="::|admin:admin123:rw|zhangsan:zhangsan123::zhangsanfiles:rw"
//通过配置文件进行配置,该文件可以不存在,待以后需要更改配置时使用
chfs --file="d:\chfs\chfs.ini"
相关推荐
- Protel电路设计常用设计编辑器案例2——创建元件
-
#大有学问#今天介绍一下Protel常用设计编辑器的电气连接工具栏。单击主工具栏上的工具按钮或选择【查看】|【工具栏】|【配线工具栏】菜单命令可以关闭或打开【电气连接(WiringTools)】工具...
- Protel调整元器件的位置(1)——移动和对齐元器件
-
今天介绍调整元器件位置的方法。首先介绍移动和对齐元器件的方法。在绘制电路原理图时,放置完了的电路图可能位置不太合适,需要进行移动。原理图中的所有对象都可以被移动,移动方法相似。对于元器件的移动来说又分...
- 电路仿真软件详谈(八),proteus电路仿真软件和protel的区别
-
电路仿真软件是常用工具类型之一,proteus更是电路仿真软件中的佼佼者。但是对于proteus电路仿真软件和protel,二者总是被弄混淆。例如,protel是电路仿真软件吗?proteus电路仿真...
- PCB文件转换生产文件Protel 99SE_pcb格式转换
-
为何要将PCB文件转换为GERBER文件和钻孔数据?因为GERBER文件是一种国际标准的光绘格式文件,它包含RS-274-D和RS-274-X两种格式,其中RS-274-D称为基本GERBER格式,并...
- PCB设计项目教程 -PDF_pcb设计作品
-
PCB设计项目教程》及相关PCB设计教材详细介绍:一、核心教材《PCB设计项目教程》该教材由徐凯、王威担任主编,于2017年由北京理工大学出版社出版。其采用“项目导向、任务驱动”的教学模式,...
- 最受欢迎的pcb设计软件Protel99se到底怎么样?
-
Protel99se是一款国内非常实用且流行的设计行业的pcb设计软件,其由pcb原理图设计和多层板电路设计两大功能组成,其最大的特点是好获取,在网上可以随便的找到,且Protel99se软件适用于w...
- 人人都是网络雇佣兵,一种基于路由器的ddos平台设计思路
-
本文灵感来自于三个方面优酷路由宝,迅雷宝这种路由器流量兑现方式Anonymous匿名者的ddos方式传统木马ddos方案先说路由宝迅雷宝,这种以用户网络为节点的CDN网络中,会传输大量的流量,我上月优...
- 接口性能测试工具Locust介绍_接口和性能的测试要点
-
接口性能测试工具其实挺多的,小型有apache的ab工具,大型的有Jmeter、Locust......这里要介绍的是Locust,相对于Jmeter进行了比较完善的封装,Locust可以就显的更自...
- 华硕笔记本电脑安装系统实战心得体会
-
故障:某某的电脑叫人安装系统至一半就蓝屏死机.拿来给我安装,发现光驱无效,不能用光盘安装.电脑启动蓝屏.解决方法:用了半天时间安装也出现类似问题.后来考虑用U盘来装.1.首先制作U盘系统,把U盘资...
- dos命令systeminfo图文教程,显示操作系统配置信息msinfo32
-
大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频。今天我们学习systeminfo命令,该工具显示本地或远程机器(包括服务包级别)的操作系统配置的信息,...
- 玩家展示现代硬件上运行的MS-DOS 拥有令人难以置信的向后兼容性
-
一位YouTuber展示了在现代计算机硬件上直接运行古老的MS-DOS操作系统和经典游戏的能力。这段视频由YouTuberInkbox发布,向观众展示了如何启动古老的、前Windows...
- 比微PE还干净还强大,带网络:USBOS V3.0超级PE装机工具20221031
-
期待已久的USBOSV3.0超级PE装机工具20221031又和大家见面了,用过的朋友都知道他的确很强大,对于新旧电脑的支持很好,目前为止还没有电脑不支持的,包括苹果PC。很多朋友还在用诸如大白菜、...
- 大童保险李晓婧:保险的本位是风险管理应在四方面进行建设
-
经济观察网记者姜鑫5月17日,大童保险服务宣布升级了风险管理模式,推出DOSM(DemandOriented,SolutionModel)需求导向型解决方案5.0版本。新解决方案从原有“六位...
- DOS常用命令及简介_dos常用命令大全及用法
-
DOS是英文DiskOperatingSystem的缩写,意思是“磁盘操作系统”。我是在95年开始学的电脑,当时学校的机房里,还没有一台WINDOWS操作系统的电脑,当时都是用DOS、UC-DOS...
- Windows 忘记开机密码?不用任何工具,1招轻松破解
-
出现忘记Windows密码的情况,概率有多大?对此,小电只能回答忘记开机密码的情况,说来就来,没有规律,也不会提前告诉你一声~而忘记Windows开机密码的时候,很多朋友都会想起可以使用u盘启动盘来破...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)