如何在虚拟机上的Linux系统配置FTP服务,跟Windows建立连接传输文件

要在 Linux 上配置 FTP,请使用 vsftpd。

先打包吧。
sudo apt-get 安装 vsftpd。

创建用户。
sudo 添加用户ftpuser。

设置密码。
sudo passwd ftpuser。

创建主目录。
须藤 mkdir /home/ftpuser.
设置权限。
sudo chown -R ftpuser:ftpuser /home/ftpuser.
修改配置文件。
sudo nano /etc/vsftpd.conf。

更改文件。
匿名_启用=否。

local_enable=是。

write_enable=是。

local_root=/home/ftpuser。

允许IP。
sudo nano /etc/hosts.allow。

写一行。
vsftpd:1 9 2 .1 6 8 .1 .1 00。

重新启动服务。
重新启动 sudo systemctl vsftpd。

Windows 版 FileZilla。

在地址中输入LinuxIP。

在端口中输入 2 1
用户输入 ftpuser。

密码 输入设置的密码。

请连接。

Linux FTPServer能支持多大文件

哈哈,我以前也这么做过,也遇到过很多陷阱。
我主要讲一下我的理解。

例如,去年我在上海帮助客户调试服务器。
那家伙要求用FTP传输一个十多GB的文件,结果却是服务器关闭,直接把服务器变砖了。
经过检查,发现很多地方不正确。

首先,vsftpd自身的设置。
你提到的local_max_rate控制速度;但有时你把速度设置为0并认为没有限制。
事实上,服务器跟不上硬盘的读写速率或内存,仍然死机。
我记得当我把这个值设置得太高时,CPU 就完全满了,其他服务就会下降。
因此,您应该根据服务器的硬件能力调整此限制。
请勿随意设置。

其次,Linux系统本身也有局限性。
尤其是/etc/security/limits.conf中的nofile是最烦人的。
我在一台旧的 CentOS 服务器上,默认值小得可怜。
因此,当传输大文件时,系统直接报告文件处理已结束。
经过半天的搜索文档,我发现我必须为每个用户更改 fs.file-max 和 nofile。
进行更改时要小心。
如果变化非常小;系统服务启动可能会出现问题。
太多的改变会浪费资源。
我在第一台测试机上大力推动,然后将其放在生产机上。

第三,文件系统类型。
你总结得很好。
我之前用的是ext4 默认块大小为 4 KB,支持单个 1 6 TB 文件。
但是,如果文件较大一点,例如几TB。
传输性能会很差。
后来改用XFS后,就好多了。
XFS理论上有更好的支持,但关键是大文件读写性能更方便。

斯托克斯,网络环境。
这个就看运气了。
一旦到达广东,用户的带宽就被共享。
一旦传输大文件,整个网络就会变慢,和隔壁同事的视频会议就卡在PPT里。
所以最好的办法是专线或者更好的客户自己的网络。
如果这是不可能的,分块传输是一个好主意;但必须得到客户的支持。

最后,安全性。
更新前需要备份系统参数。
我之前改过一次ulimit,但是当系统重新启动时,有些服务无法直接启动。
花了很长时间才恢复过来。
所以改变重要参数后;一定要反复测试。

总的来说,通过Linux FTP传输大文件是一个系统工程。
vsftpd 无法单独完成。
服务器硬件;必须考虑系统参数和网络环境。
您要传输的文件有多大;我们首先要评估这些方面是否可行。
如果它不起作用,你必须考虑其他解决方案,例如你提到的分布式文件系统。
无论如何,这些都是我走过的峡谷。
我希望它对你有用。