`
gongsy
  • 浏览: 105032 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Apache FtpServer使用讲解

    博客分类:
  • java
 
阅读更多

 一、介绍

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)

分享到:
评论
1 楼 gundumw100 2016-08-18  
如何不需要账户就能登陆啊?
我这边有这个需求,不需要输入用户名和密码就能登陆。

相关推荐

    apache ftpserver使用讲解

    - `org\apache\ftpserver\usermanager\impl\AbstractUserManager.class` 修改这些类的主要目的是让其支持新的表结构,并实现在验证过程中对源IP地址的检查。 通过以上步骤,我们可以有效地配置并使用Apache FTP...

    apache ftpserver讲解

    例如,在 `%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的使用、配置和相关开发进行讲解。 首先,Apache FTPServer提供了灵活的配置机制,允许管理员通过XML文件定制服务器的行为。这包括设置用户账户、指定工作目录、限制上传下载速度...

    apache ftpserver Mysql配置

    以下是关于"apache ftpserver Mysql配置"的详细知识讲解: 1. **FTP服务器基础** FTP(File Transfer Protocol)是互联网上用于文件传输的标准协议,Apache FTPServer是其一个流行的开源实现。它提供了一个灵活的...

    Apache Server Survival Guide.pdf

    9. **自动化运维**:介绍使用shell脚本、cron任务或自动化工具如Ansible、Chef等来自动化Apache服务器的日常管理。 10. **最佳实践**:分享来自业界专家的建议和经验,帮助读者遵循最佳实践,提升服务器的稳定性和...

    apache doc 中文文档-html

    10. **集成其他服务**:Apache可以与其他服务集成,例如与FTP服务器、邮件服务器或数据库服务器协同工作。文档会讲解如何实现这些集成。 通过深入学习“apache doc 中文文档-html”,无论是新手还是经验丰富的管理...

    ftp java源代码

    因此,通常我们会使用Apache Commons Net库,这是一个强大的Java网络工具包,提供了FTPClient和FTPServer类,便于开发FTP应用。 1. **Apache Commons Net库** Apache Commons Net库提供了FTP相关的类和接口,如...

    Apache_Mina_Server_2.0_V1.0.rar_apache_apache中文手册_mina

    本手册“Apache Mina Server 2.0中文参考手册V1.0”提供了对 Mina 2.0 版本的详细解析,旨在帮助开发者更好地理解和运用这个强大的工具。 Apache Mina 提供了一个统一的接口来处理多种类型的网络协议,如TCP/IP、...

    Android commons ftp使用demo

    本文将详细讲解如何在Android应用中使用Apache Commons Net库进行FTP操作,并提供一个具体的`ftpDemo`示例。 Apache Commons Net是Apache软件基金会的一个开源项目,它提供了一系列用于网络编程的实用工具,其中...

    JAVA操作FTP文件服务器上传与下载文件

    本篇文章将详细讲解如何使用Java实现FTP文件的上传与下载,以及相关的操作如创建文件夹、检查文件存在性和删除文件。 首先,我们需要引入Java的FTP客户端库,通常使用`org.apache.commons.net.ftp`包中的`FTPClient...

    java实现ftp客户端服务器

    1. **选择服务器框架**: Apache的Commons Net库并没有提供完整的FTP服务器实现,但可以选择其他如Java FTPServer或miniFTPServer等开源项目。 2. **配置服务器**: 设置服务器的监听端口、用户权限、根目录等信息。 3...

    java 读取FTP服务器文件(二)

    首先,要读取FTP服务器上的文件,我们需要使用Java的`java.net`和`org.apache.commons.net.ftp`库。Apache Commons Net库提供了丰富的FTP客户端API,可以方便地进行文件的上传、下载和管理。确保你的项目中已经添加...

    JAVA实现ftp上传,下载

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在计算机之间传输文件。在Java中实现FTP上传和下载,我们可以利用Apache Commons Net库,它提供了一系列的FTP客户端API,方便我们进行文件操作。以下是...

    获取FTP服务器上的文件大小源码

    本篇文章将详细讲解如何编写源码来获取FTP服务器上的文件大小,这对于监控服务器存储空间或者自动化任务是非常实用的。 首先,我们需要了解基本的FTP工作原理。FTP基于TCP/IP协议,通过建立控制连接和数据连接来...

    ftp.rar_ftp_ftp java_java ftp

    本教程将深入讲解如何使用Java实现FTP下载功能。 首先,要实现FTP下载,我们需要理解FTP的基本工作原理。FTP基于TCP协议,通过建立两个连接来完成文件传输:控制连接和数据连接。控制连接用于发送FTP命令和接收响应...

    JAVA FTP上传下载实例

    本示例将详细讲解如何使用Java实现FTP的上传和下载功能。首先,我们需要了解FTP客户端库,这里提到了“相关jar包”,这通常指的是Apache Commons Net库,它提供了Java FTP客户端的实现。 Apache Commons Net是...

    jsp版本ftp文件上传与下载

    本教程将深入讲解如何使用JSP实现FTP文件上传与下载功能,并解决中文文件名的乱码问题。 首先,我们需要理解FTP的基本工作原理。FTP允许用户在客户端和服务器之间交换文件,通常涉及登录、文件传输、目录浏览等操作...

    搭建ftp服务器并实现http访问.zip

    1. 使用HTTP代理服务器:可以使用Apache或Nginx作为反向代理服务器,将HTTP请求转发到FTP服务器。配置文件示例如下: **Apache配置**(`/etc/apache2/sites-available/ftp-proxy.conf`): ``` *:80> ...

Global site tag (gtag.js) - Google Analytics