基于web端的ftp程序

搭建一个web页面访问的FTP服务器

github官网地址

vsftpd 程序搭建跳转地址

vsftpd 搭建完成之后,开始搭建 ftp-web

复制代码
下载运行

该项目需要 Node.js v4+ 才能运行。

# node 版本为 v16.20.2
node -v
v16.20.2

git clone https://github.com/liuqi6908/ftp-web-client.git
cd ftp-web-client
npm install
npm start 或 node index.js

注意事项
上传文件

上传文件时使用 $.ajax() 携带 formData 参数发送 post 请求,但在新版本的 Node.js 中可能会出现报错:

TypeError: os.tmpDir is not a function

这是因为在新版本的 Node.js 中 os.tmpDir() 已被弃用,要找到指定位置将其修改为 os.tmpdir()

没改文件之前报错

修改文件

复制代码
vim node_modules/multiparty/index.js
// 注销
//  self.uploadDir = options.uploadDir || os.tmpDir();
// 修改为如下
  self.uploadDir = options.uploadDir || os.tmpdir();

# 启动程序
npm start 

访问

复制代码
http://192.168.244.129:3000

添加 nginx 转发

复制代码
upstream ftpd-backend {
        server 192.168.244.129:3000;
}

server {
   listen       80;
   server_name  ftpd.com;
#   keepalive_timeout   70;
   access_log   /var/log/nginx/ftpd-access.log main;
   error_log    /var/log/nginx/ftpd-error.log;
						            
      location / {
        client_max_body_size 1024M;
        proxy_pass http://ftpd-backend;
        proxy_buffering off;
        proxy_request_buffering off;
        proxy_http_version 1.1; 
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
   }
}

重启 nginx

复制代码
访问 nginx 
http://ftpd.com

成品展示

相关推荐
&白帝&12 分钟前
vue右键显示菜单
前端·javascript·vue.js
Wannaer12 分钟前
从 Vue3 回望 Vue2:事件总线的前世今生
前端·javascript·vue.js
羽球知道33 分钟前
在Spark搭建YARN
前端·javascript·ajax
光影少年1 小时前
vue中,created和mounted两个钩子之间调用时差值受什么影响
前端·javascript·vue.js
青苔猿猿1 小时前
node版本.node版本、npm版本和pnpm版本对应
前端·npm·node.js·pnpm
一只码代码的章鱼2 小时前
Spring的 @Validate注解详细分析
前端·spring boot·算法
zimoyin2 小时前
Kotlin 协程实战:实现异步值加载委托,对值进行异步懒初始化
java·前端·kotlin
程序员与背包客_CoderZ4 小时前
Node.js异步编程——Callback回调函数实现
前端·javascript·node.js·web
非凡ghost4 小时前
Pale Moon:速度优化的Firefox定制浏览器
前端·firefox
清灵xmf4 小时前
从 Set、Map 到 WeakSet、WeakMap 的进阶之旅
前端·javascript·set·map·weakset·weakmap