如何使用Linux FTP Server传输大文件

哎,2 02 2 年,我在上海,公司的服务器,架设Linux FTP服务器,传输大文件,真是让我沮丧。

1 .搭建FTP服务器首先安装软件,使用Ubuntu,包管理器,sudo apt-get install vsftpd,很简单。
在 CentOS 端, yum install vsftpd 或 dnf install vsftpd 可以工作。

安装后,更改配置/etc/vsftpd/vsftpd.conf,这个文件太重要了。

禁用匿名访问,anonymous_enable=NO,安全很重要。
启用本地用户登录,local_enable=YES,还有谁会用? 用户主目录限制,chroot_local_user=YES,防止用户乱走。
启用被动模式,pasv_enable=YES,并且必须在防火墙环境中使用。
设置端口范围,例如例如。
pasv_min_port=4 0000、pasv_max_port=5 0000,并且防火墙必须允许这样做。

更改后,重新启动服务,sudo systemctl restart vsftpd 或老命令 sudo service vsftpd restart。

2 如何传输大文件
要使用被动模式(PASV),客户端还必须配备FileZilla。
启用“被动模式”。

扩大缓冲区。
对于LFTP、WinSCP等客户端软件,根据情况设置较大的值,如:B.设置net:buffer-size 8 M,1 MB到8 MB。

以块的形式传输。
使用LFTP、Curl等断点续传工具,分割大文件并跨线程传输。
lftp命令使用方法如下: 巴什 lftp -u 用户名、密码 ftp://server -e "mirror --parallel=4 /remote/path /local/path; quit" --parallel=4 表示4 个线程同时传输。

或者使用split命令分割成1 GB的块,例如: 巴什 split -b 1 G Largefile.tar.gz Largefile_part_ 拆分后,再次传递,目标端使用cat进行合并: 巴什 cat largefile_part_>largefile.tar.gz
SFTP/SCP,如果环境允许的话,最好使用这种加密传输,性能也不错: 巴什 SFTP 用户名@服务器:/remote/path/largefile.tar.gz /local/path/
3 监控服务器
查看CPU内存,使用top或htop哪个进程占用更多并找到瓶颈。
读写磁盘,iotop或者iostat,磁盘性能可能不够。

网络要优化,带宽要充足,不能被其他业务占用。
对于 QoS 配置,请使用 tc 命令或防火墙规则 (iptables) 来确定 FTP 流量的优先级。
例如: 巴什 sudo tc qdisc add dev eth0 root tb 速率 1 00mbit 突发 3 2 kbit 延迟 4 00ms
查看日志 /var/log/vsftpd.log 或系统日志记者ctl -u vsftpd。
当出现问题时,您可以找到原因。

4 文件压缩的其他建议,传输前压缩,使用gzip或xz,例如: 巴什 gzip 大文件.tar 生成largefile.tar.gz,可以快速传输,但压缩和解压也需要时间。

先上传小文件,测试网络和服务器是否稳定,然后再上传大文件。

就这样,2 02 2 年在上海搭建的服务器经过半年的努力终于完成了。

linux怎样使用ftp传输文件

呵呵,说到Linux下的FTP文件传输,刚接触Linux系统的时候,真是一头雾水。
我记得那是2 01 5 年,我在公司负责搭建服务器,需要上传一些文件到FTP服务器。
然后我在终端输入ftp命令,然后输入服务器的IP地址,比如ftp1 9 2 .1 6 8 .1 .1 01 ,然后通过各种方式输入用户名和密码。
当时我不明白,就冷静地尝试,就成功了。

Then I started uploading the file. At that time I used the put command.我记得上传了一个名为“report.txt”的文件到服务器。
命令是ftp> put report.txt,然后上传文件。
当时我就觉得挺神奇的,因为之前我都是在Windows系统中使用图形界面上传文件,而这次我直接从命令行操作,有点像黑客的感觉。

但是,当时也有很多陷阱。
有一次,我上传了一个大文件,网络突然断了。
我重新连接后,文件中途没有上传。
当时我不知道有断点后继续上传的功能,所以我就重新上传了整个文件。
当时我很担心,怕老板逼我拿文件。

之后我开始研究FTP的更多功能,比如匿名访问、转账传输等。
当时我还下载了一个名为FileZilla的FTP客户端。
虽然它有图形界面,但使用起来其实方便很多。
现在回想起来,那段时间虽然有些困难,但也学到了很多。

现在,尽管我很少使用它,但我仍然记得基本的 FTP 命令。
有时候我还是要依靠这些旧知识来帮助朋友解决FTP上传问题。
嘿嘿,说起来,在Linux系统上操作FTP虽然一开始有点困难,但是学了之后还是蛮方便的。

在Linux中FTP的主动模式和被动模式是什么?有何区别?

老实说,当谈到Linux上的FTP时,主动模式(PORT)和被动模式(PASV)是两个不同的东西。
主要区别取决于谁发起新连接以及防火墙如何处理它。
(PORT) How do you fix this thing? The client connects to the server's port 2 1 , which is called the command port, and logs in. After logging in, The client chooses a port greater than 1 02 4 like N and tells the server to open N port and you can come and play.服务器收到消息后,使用自己的2 0端口主动搜索客户端的N端口,并开始传输两个文件。
不同的是,数据连接是由服务器发送的,客户端必须留一个洞供服务器访问。
如果您的客户像公司一样位于防火墙后面。
This can be quite troublesome.
再说说被动法化 (PASV). The process is similar. The client first connects to the server port 2 1 and logs in. After logging in, The client yells, "Hey, I'm in PASV mode," and the server picks a port greater than 1 02 4 , like P, and says, "I'll open port P, you come to me." When the customer receives the notification;进入服务器的P端口,发起文件传输。
不同的是,数据连接是客户端发送的,服务器必须留一个洞让客户端过来。
如果服务器防火墙比较好的话可以实现这个方法这很容易。

Summary.在主动模式下,服务器转发连接。
在被动模式下,客户端发送连接。
For the firewall, Active mode requires the client firewall to leave a path for the server. Passive mode requires the server firewall to leave a path for the client. If the network environment is enabled, Active mode can work. Passive mode is more reliable if the client is behind a firewall.
However, these days most users are behind firewalls, so they use passive mode more.