ftp服务器搭建及简单操作

1. 添加一个新用户,使用名useradd testftp,然后使用passwd testftp对新添加的用户设置密码(这里设置为“1234567”)。

ftp服务器搭建及简单操作-LMLPHP

2. 安装ftp服务,输入命令:yum install vsftpd

3. 使用命令查看: getsebool -a|grep ftp

ftp服务器搭建及简单操作-LMLPHP

4. 使用命令:setsebool -P 来设置

  setsebool -P allow_ftpd_full_access=on

  setsebool -P ftp_home_dir=on

5. 在防火墙中开发21号端口,输入命令vim /etc/sysconfig/iptables

ftp服务器搭建及简单操作-LMLPHP

6. 重启防火墙,输入命令:service iptables restart

7. 启动ftp服务器,输入命令:service vsftpd start

使用java测试ftp上传功能

1. 导入依赖:

 <dependencies>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>

2. 项目目录结构:

ftp服务器搭建及简单操作-LMLPHP

3. java测试代码:

 @Test
public void testFtp1() throws Exception {
FTPClient ftp = new FTPClient(); // 创建客户端对象
InputStream local = null;
ftp.connect("192.168.33.129", 21); // 连接ftp服务器
ftp.login("testftp", "1234567"); // 登录
String path = "/home/testftp/image"; // 设置上传路径
boolean flag = ftp.changeWorkingDirectory(path); // 检查上传路径是否存在,如果不存在返回false
if (!flag) {
ftp.makeDirectory(path); // 创建上传的路径 该方法只能创建一级目录
}
ftp.changeWorkingDirectory(path); // 指定上传路径
ftp.setFileType(FTP.BINARY_FILE_TYPE); // 指定上传文件的类型 二进制文件
File file = new File("0.jpg"); // 读取本地文件
local = new FileInputStream(file);
ftp.storeFile(file.getName(), local); // 第一个参数是文件名
local.close(); // 关闭文件流
ftp.logout(); // 退出
ftp.disconnect(); // 断开连接
}

4. 去到上传目录查看结果:

ftp服务器搭建及简单操作-LMLPHP

04-25 14:24