linux下的FTP安装及调优
前言:
在之前交换平台的开发中,FTP的各种操作算是核心功能点。
在FTP的开发中,遇到了不少坑。
如FTP需要设置被动模式,否则10M以上的包可能会上传失败。
如FTP需要设置囚牢模式,否则访问的文件夹可能会调到根目录去,不在配置的目录中,可能导致访问错误、权限不够等问题。
以下为正确的打开方法,以后linux下安装FTP,轻轻松松。
同事们找你优化FTP,也能得心应手。
1.1 FTP安装
我的本机环境是centOs7.
可以使用uname -a查看你的系统信息
uname -a
得到如下信息
>Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Linux下我们选择vsftp
yum install -y vsftpd
(非必要)FTP客户端安装,可以在服务器上使用客户端测试
yum install -y ftp
(非必要)FTP 工具
yum install -y lftp
重启FTP
service vsftpd restart
自启动
chkconfig vsftpd on
1.2 设置访问模式
编辑配置文件
vim /etc/vsftpd/vsftpd.conf
设置囚牢模式
#囚牢模式
chroot_local_user=YSE#是否将所有用户限制在主目录,YES为启用 NO禁用.
> (该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的)
注意事项:
在CentOS7下配置chroot_local_user=yes ,配置完成后发现无法访问,远程主机关闭连接。
解决方案如下:
方法1:加一条配置
vim /etc/vsftpd/vsftpd.conf
allow_writeable_chroot=YES
方法2、重新给权限
chmod 755 /home/ftp_yaoshen
1.3 创建FTP 账号
1、添加linux用户
useradd -s /sbin/nologin ftp_yaoshen
2、重置密码
passwd ftp_yaoshen
设置密码yaomaomao
3、重启FTP
service vsftpd restart
4、如果无权限,可能是没有赋予执行权限,
cd /etc/init.d
chmod +x vsftpd
赋权成功后再次执行。
5、用/sbin/nologin 方式添加用户,centos7下可能会登陆不上,解决方案:
usermod -s /bin/bash ftp_coperate
1.4 FTP参数调优
编辑配置文件
vi /etc/vsfptd/vsfptd.conf
在conf文件中添加如下参数:
max_clients=10240 #最大连接数,不限制改为0
max_per_ip=1000 #单IP最大连接数,不限制改为0
需要重启ftp
service vsftpd restart
注:有需要限制上传速率的可以设置
anon_max_rate=50000 #限制匿名用户50KB
local_max_rate=200000 #限制本地用户200KB
1.5 FTP客户端访问调优
1.5.1 JAVA客户端
引用API org.apache.commons.net.ftp.FTPClient
//设置被动模式(FTP客户端上传、下载容易失败)
ftpClient.enterLocalPassiveMode();
// 在操作FTP文件时,改变到文件当前目录
ftpClient.changeWorkingDirectory(new String(remoteFolder.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
我的公众号:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?