基于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

成品展示

相关推荐
铁皮饭盒9 小时前
第2课:5分钟!用 Trae AI 生成你的第一个后端服务(Bunjs + Elysia)
前端·后端·全栈
之歆10 小时前
DAY13_CSS3进阶完全指南 —— 背景、边框、文本、渐变、滤镜与 Web 字体(下)
前端·css·css3
剑神一笑10 小时前
CSS 阴影生成器:从单层到多层叠加的艺术
前端·css·css3
lljss202010 小时前
1. NameServer 域名服务器---NS
linux·服务器·前端
anOnion11 小时前
构建无障碍组件之Tooltip Pattern
前端·html·交互设计
陈随易11 小时前
为什么今天还会有新语言?MoonBit 想解决什么问题?
前端·后端·程序员
西洼工作室11 小时前
unipp+vue3+python h5+app极验验证码集成全流程解析
前端·uni-app·全栈·极验
ZC跨境爬虫11 小时前
跟着 MDN 学 HTML day_15:(媒体缓冲、拖动与时间范围控制)
前端·笔记·ui·html·edge浏览器·媒体
李白的天不白11 小时前
webpack 与 webpack-cli 版本匹配问题
前端·webpack·node.js