一、介绍
Apache Ftp Server 是100%纯Java的FTP服务器软件,它采用MINA网络框架开发具有非常好的性能。Apache FtpServer 既可以嵌到Java应用中使用,也可以做为Windows服务或Unix/Linux Daemon单独运行。此外还提供与Spring 相集成的模块。
二、
环境搭建
(1)下载
到http://mina.apache.org/ftpserver/downloads.html地址,进入 “Apache FtpServer 1.0.5 Release” 版本,根据操作系统的不同下载对应的安装包。
(2)安装
Linux/Unix系统,则执行tar -xzvf ftpserver-1.0.5.tar.gz。
windows系统,则用解压工具解压。
三、配置文件
%FTP_HOME%——FTP安装根目录
修改配置文件 %FTP_HOME% \res\conf\ftpd-full.xml
四、连接数据库
在%FTP_HOME%/common /lib下添加jar包
commons-dbcp-1.2.2.jar
mysql-connector-java-5.1.5-bin.jar(mysql jdbc)
commons-pool-1.3.jar
五、启动Apache FtpServer
Linux:
cd %FTP_HOME%
bin/ftpd.sh res/conf/ftpd-full.xml
Windows:
cd %FTP_HOME%
bin/ftpd.bat res/conf/ftpd-full.xml
六、查看日志
路径:%FTP_HOME%\res\log\ftpd.log
七、修改表结构,源码
CREATE TABLE FTP_USER (
userid VARCHAR(64) NOT NULL PRIMARY KEY, -- 用户id
userpassword VARCHAR(64), -- 用户密码
homedirectory VARCHAR(128) NOT NULL, -- 路径
enableflag BOOLEAN DEFAULT TRUE, -- 用户可用标记
writepermission BOOLEAN DEFAULT FALSE, -- 是否可写标记
idletime INT DEFAULT 0, -- 空闲时间
uploadrate INT DEFAULT 0, -- 上传文件速率
downloadrate INT DEFAULT 0, -- 下载文件速率
maxloginnumber INT DEFAULT 0, -- 用户最大登录数
maxloginperip INT DEFAULT 0, -- 每个ip最大登录数
sourceip VARCHAR2(64) -- 源IP地址
);
%FTP_HOME%/common/lib中的ftpserver-core-1.0.5.jar 下:
org\apache\ftpserver\usermanager\impl\DbUserManager.class
org\apache\ftpserver\usermanager\impl\ AbstractUserManager.class
一些可配置的东西放在apache-ftpserver-1.0.x\res\conf文件夹里面
users.properties文件存放的是用户名及密码权限等配置信息
用户名为anonymous
#密码为空
tpserver.user.anonymous.userpassword=
#主目录
ftpserver.user.anonymous.homedirectory=./res/home
#当前用户可用
ftpserver.user.anonymous.enableflag=true
#具有上传权限
ftpserver.user.anonymous.writepermission=true
#最大登陆用户数为20
ftpserver.user.anonymous.maxloginnumber=20
#同IP登陆用户数为2
ftpserver.user.anonymous.maxloginperip=2
#空闲时间为300秒
ftpserver.user.anonymous.idletime=300
#上传速率限制为48字节每秒
ftpserver.user.anonymous.uploadrate=4800
#下载速率限制为48字节每秒
ftpserver.user.anonymous.downloadrate=4800
能够通过修改users.properties文件来添加和管理用户及权限等信息。
Apache Ftp Server 重要的用途其实是作为一种灵活的嵌入式文件传输方案来使用, 单纯作为FTP来说他的性能也是非常好的,800并发上传文件没有任何问题(linux 4cpu 4g mem scsi)
分享到:
相关推荐
- `org\apache\ftpserver\usermanager\impl\AbstractUserManager.class` 修改这些类的主要目的是让其支持新的表结构,并实现在验证过程中对源IP地址的检查。 通过以上步骤,我们可以有效地配置并使用Apache FTP...
例如,在 `%FTP_HOME%/common/lib/ftpserver-core-1.0.5.jar` 文件中找到相关类文件,如 `org.apache.ftpserver.usermanager.impl.DbUserManager.class` 和 `org.apache.ftpserver.usermanager.impl....
这篇笔记主要围绕Apache FTPServer的使用、配置和相关开发进行讲解。 首先,Apache FTPServer提供了灵活的配置机制,允许管理员通过XML文件定制服务器的行为。这包括设置用户账户、指定工作目录、限制上传下载速度...
以下是关于"apache ftpserver Mysql配置"的详细知识讲解: 1. **FTP服务器基础** FTP(File Transfer Protocol)是互联网上用于文件传输的标准协议,Apache FTPServer是其一个流行的开源实现。它提供了一个灵活的...
9. **自动化运维**:介绍使用shell脚本、cron任务或自动化工具如Ansible、Chef等来自动化Apache服务器的日常管理。 10. **最佳实践**:分享来自业界专家的建议和经验,帮助读者遵循最佳实践,提升服务器的稳定性和...
10. **集成其他服务**:Apache可以与其他服务集成,例如与FTP服务器、邮件服务器或数据库服务器协同工作。文档会讲解如何实现这些集成。 通过深入学习“apache doc 中文文档-html”,无论是新手还是经验丰富的管理...
因此,通常我们会使用Apache Commons Net库,这是一个强大的Java网络工具包,提供了FTPClient和FTPServer类,便于开发FTP应用。 1. **Apache Commons Net库** Apache Commons Net库提供了FTP相关的类和接口,如...
本手册“Apache Mina Server 2.0中文参考手册V1.0”提供了对 Mina 2.0 版本的详细解析,旨在帮助开发者更好地理解和运用这个强大的工具。 Apache Mina 提供了一个统一的接口来处理多种类型的网络协议,如TCP/IP、...
本文将详细讲解如何在Android应用中使用Apache Commons Net库进行FTP操作,并提供一个具体的`ftpDemo`示例。 Apache Commons Net是Apache软件基金会的一个开源项目,它提供了一系列用于网络编程的实用工具,其中...
本篇文章将详细讲解如何使用Java实现FTP文件的上传与下载,以及相关的操作如创建文件夹、检查文件存在性和删除文件。 首先,我们需要引入Java的FTP客户端库,通常使用`org.apache.commons.net.ftp`包中的`FTPClient...
1. **选择服务器框架**: Apache的Commons Net库并没有提供完整的FTP服务器实现,但可以选择其他如Java FTPServer或miniFTPServer等开源项目。 2. **配置服务器**: 设置服务器的监听端口、用户权限、根目录等信息。 3...
首先,要读取FTP服务器上的文件,我们需要使用Java的`java.net`和`org.apache.commons.net.ftp`库。Apache Commons Net库提供了丰富的FTP客户端API,可以方便地进行文件的上传、下载和管理。确保你的项目中已经添加...
FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在计算机之间传输文件。在Java中实现FTP上传和下载,我们可以利用Apache Commons Net库,它提供了一系列的FTP客户端API,方便我们进行文件操作。以下是...
本篇文章将详细讲解如何编写源码来获取FTP服务器上的文件大小,这对于监控服务器存储空间或者自动化任务是非常实用的。 首先,我们需要了解基本的FTP工作原理。FTP基于TCP/IP协议,通过建立控制连接和数据连接来...
本教程将深入讲解如何使用Java实现FTP下载功能。 首先,要实现FTP下载,我们需要理解FTP的基本工作原理。FTP基于TCP协议,通过建立两个连接来完成文件传输:控制连接和数据连接。控制连接用于发送FTP命令和接收响应...
本示例将详细讲解如何使用Java实现FTP的上传和下载功能。首先,我们需要了解FTP客户端库,这里提到了“相关jar包”,这通常指的是Apache Commons Net库,它提供了Java FTP客户端的实现。 Apache Commons Net是...
本教程将深入讲解如何使用JSP实现FTP文件上传与下载功能,并解决中文文件名的乱码问题。 首先,我们需要理解FTP的基本工作原理。FTP允许用户在客户端和服务器之间交换文件,通常涉及登录、文件传输、目录浏览等操作...
1. 使用HTTP代理服务器:可以使用Apache或Nginx作为反向代理服务器,将HTTP请求转发到FTP服务器。配置文件示例如下: **Apache配置**(`/etc/apache2/sites-available/ftp-proxy.conf`): ``` *:80> ...