Apache FtpServer 的使用研究

目录             

最近要开发一个上传的客户端,功能实现定时、压缩上传、自动重连、定点续传等功能。至于服务端选用开源的的FTP服务器。选择了ftpserver。

使用也比较简单,具体的文档参见官网地址:http://mina.apache.org/ftpserver-project/documentation.html。下面是结合自己的使用记录了常用的命令和配置。

1)安装            

我是在Windows下使用,启动命令为:在bin目录下进入命令行执行: bin/ftpd.bat     res/conf/ftpd-typical.xm          

如果嫌每次输入麻烦可以将这句话保存在文件start.bat中启动 

如果以服务的方式启动,命令为service install ftpd res/conf/ftpd-typical.xml  (注意,要以管理员身份启动命令行才能启动成功)

安装服务后可以通过ftpdw.exe来控制服务的启停。也可以进入Windows的services.msc自己控制服务的启停

服务的卸载命令是service remove                                  :) 这样服务就能够启动了!!!

2) 配置:

server的配置

<server xmlns="http://mina.apache.org/ftpserver/spring/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd" id="server" max-logins="500" anon-enabled="false" max-anon-logins="123" max-login-failures="124" login-failure-delay="125"> ... </server>

 server的配置在ftpd-typical.xml中与ftpd-full.xml中都没有配置,那么server的属性都是默认值,比如max-logins默认值为10,后面在user.properties中配置超过10将不起作用。

上面是官方网站给的示例,下面是官方给的server元素的说明

id A unique identifier for this server within this XML configiration Yes  
max-threads The maximum number of threads used in the thread pool for handling client connections No max-logins, or 16 if neither value is set
max-logins The maximum number of simultaneous users No 10
max-anon-logins The maximum number of simultaneous anonymous users No 10
anon-enabled Are anonymous logins enabled? No true
max-login-failures The number of failed login attempts before the connection is closed No 3
login-failure-delay The number of milliseconds that the connection is delayed after a failed login attempt. Used to limit to possibility of brute force guessing passwords. No 500

 最大线程数max-threads这个提高了应该提高处理客户端连接的速度。

下面是user.properties的配置,用来配置ftp的用户,可以配置多个,示例以及属性说明如下:

ftpserver.user.admin.userpassword=21232F297A57A5A743894A0E4A801FC3           -----------这个是md5的16进制的加密??
ftpserver.user.admin.homedirectory=f:/c                                                                                  -----------这个用户的访问目录
ftpserver.user.admin.enableflag=true                                                                                       -----------
ftpserver.user.admin.writepermission=true                                                                             -----------是否运行写操作
ftpserver.user.admin.maxloginnumber=0                                                                                -----------最大登录数,这个值一定要小于server的max-login
ftpserver.user.admin.maxloginperip=0                                                                                     -----------每个ip的最大登录数,这个要小于maxloginnumber
ftpserver.user.admin.idletime=0                                                                                                -----------空闲时间,....??                        
ftpserver.user.admin.uploadrate=0                                                                                           -----------上传速度 单位是B
ftpserver.user.admin.downloadrate=0                                                                                      -----------下载速度 单位是B

先写到这里,其他属性待续...........

原文地址:https://www.cnblogs.com/wangnbin/p/6058915.html