1. VSFTP介绍

(1) 什么是FTP服务器?

FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。

用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议以传 输文件

(2) 什么是VSFTPD?

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、

HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的 FTP 服务器所不支持的特征

2. 项目中的图片服务器架构介绍

(1) 单体架构与分布式架构中对于上传文件管理的区别是什么?

单体架构:

在传统的单体架构项目中,可以在 web 项目中添加一个文件夹,来存放上传的图片。 例如在工程的根目录 WebRoot 下创建一个 images 文件夹用于保存已上传的图片。 优点:使用方便,便于管理 缺点: 1、如果是分布式环境中图片引用会出现问题。 2、图片的下载会给服务器增加额外的压力

分布式架构:

3. 安装VSFTP

(1) 写出在linux下安装vsftp的步骤

1 安装 vsftpd 组件

yum -y install vsftpd 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是 vsftp 的配置文件。

2 添加一个 Linux 用户

此用户就是用来登录 ftp 服务器用的。 useradd ftpuser 这样一个用户建完,可以用这个登录。登录后默认的路径为 /home/ftpuser.

3 给用户添加密码。

passwd ftpuser 输入两次密码后修改密码。

4 防火墙开启 21 端口

因为 ftp 默认的端口为 21,而 centos 默认是没有开启的,所以要修改 iptables 文件 vim /etc/sysconfig/iptables 在行上面有 22 -j ACCEPT 下面另起一行输入跟那行差不多的,只是把 22 换成 21,然后: wq 保存。 还要运行下,重启 iptables service iptables restart

5 修改 selinux

外网是可以访问上去了,可是发现没法返回目录(使用 ftp 的主动模式,被动模式还是无法 访问),也上传不了,因为 selinux 作怪了。 修改 selinux: 执行以下命令查看状态: [root@bogon ~]# getsebool -a | grep ftp allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off ftp_home_dir --> off ftpd_connect_db --> off ftpd_use_passive_mode --> off httpd_enable_ftp_server --> off tftp_anon_write --> off [root@bogon ~]# 执行上面命令,再返回的结果看到两行都是 off,代表,没有开启外网的访问 [root@bogon ~]# setsebool -P allow_ftpd_full_access on [root@bogon ~]# setsebool -P ftp_home_dir on

6 关闭匿名访问

修改/etc/vsftpd/vsftpd.conf 文件

重启 ftp 服务: service vsftpd restart

7 设置开机启动 vsftpd ftp 服务

chkconfig vsftpd on

4. 使用FTP协议访问图片

(1) FTP协议访问图片的URL格式是什么?

ftp://username:userpassword@IP/路径/图片名称 在 VSFTPD 的插件中。不允许这样访问。必须要有登录环节

5. FTPClient使用

(1) 什么是FTPClient?

FTPClient 是 Apache 提供的一个开源的基于 JAVA 语言的 FTP 客户端工具。 FTPClient 位于 Apache 的 commons-net 项目中

(2) 如何通过FTPClient的API上传图片?

public class TestUpload {
public static void main(String[] args) throws Exception {fileUpload();
}//文件上传的方法
public static void fileUpload() throws IOException {//创建FTPClient对象
FTPClient ftp = new FTPClient();//连接
ftp.connect("192.168.56.129",21);//登录
ftp.login("ftpuser","ftpuser");//操作文件上传
InputStream is = new FileInputStream("f://22.jpg");//指定上传文件的目录
ftp.changeWorkingDirectory("/home/ftpuser/bjsxt");//开启字节流传输
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);//文件上传
ftp.storeFile("hh.jpg",is);//推出登录
ftp.logout();
}
}

6. FtpUtil工具类的使用

(1) 如何通过FTPUtil工具类上传下载文件?

先引入FTPUtil工具类,在方法中调用FTPUtil工具类的静态方法,上传或下载,传入参数即可

vsftp 客户端多个ip_VSFTP环境搭建相关推荐

  1. 单点登录cas综述之cas4.2.7服务端+cas客户端+示例程序+环境搭建说明-陈杰

    1环境搭建以及把示例程序跑起来 1.1  安装jdk1.8 1.2 下载tomcat8+cas4.2.7服务端war+cas客户端war 1.2.1下载经过配置的Tomcat8和本教程配套文件 1.2 ...

  2. 华为云桌面客户端_华为云服务器购买及环境搭建简述

    一.背景 毕设的一部分是做一个微信小程序,需要购买服务器以提供公网ip.刚好刷牛客看到牛客网和华为云合作推出的超级福利活动,仅需9元即可享受一年的2G内存服务器的使用权,约等于白送有木有!!! 没有丝 ...

  3. 微信小游戏客户端开发环境搭建

    微信小游戏客户端开发环境搭建 开发工具 环境配置 发布小游戏 一直以来,弄App形式的游戏比较多,近年来,微信小游戏火了起来.出于好奇,研究了一番,觉得还是挺有意思的,想和大家分享下. 官方手册网址: ...

  4. WinMail邮件服务器(客户端)环境搭建与配置

    WinMail邮件服务器(客户端)环境搭建与配置       一.在搭建WinMail邮件服务器(客户端)之前必备             (1).在虚拟机上安装两个干净无毒的操作系统         ...

  5. eas java配置_EAS客户端调试环境搭建

    客户端调试环境搭建说明 适用场景:在现场跟踪问题或者在研发内部跟踪定位测试环境的问题时,开发人员需要快速搭建一个可供调试的环境以供分析问题,以下说明可供开发人员在需要时使用,注意该方式只支持客户端调试 ...

  6. 开源游戏服务器框架NoahGameFrame(NF)客户端环境搭建(三)

    一.下载NoahGameFrame框架的客户端 1.进入到开源游戏服务器框架NoahGameFrame的客户端NFUnitySDK在GitHub官方界面NFUnitySDK 2.复制要Checkout ...

  7. rap2客户端dolores环境搭建

    rap2客户端dolores环境搭建 https://incoder.org/2018/03/27/rap2/ https://github.com/thx/rap2-delos/issues/119 ...

  8. ESXi6.5环境搭建(四:虚拟机操作系统安装及配置)

    实验目的及要求 完成VMware workstations安装,会应用相关操作: 完成虚拟机中ESXI6.5平台的安装及网络环境配置: 完成VMware vSphere Client 6.0软件在PC ...

  9. ESXi6.5环境搭建(三:vSphere Client6.0安装)

    实验目的及要求 完成VMware workstations安装,会应用相关操作: 完成虚拟机中ESXI6.5平台的安装及网络环境配置: 完成VMware vSphere Client 6.0软件在PC ...

最新文章

  1. 手机AI、购物AI...还有哪个“AI+”被忽略了?
  2. [20180408]那些函数索引适合字段的查询.txt
  3. Laravel API记录
  4. 解救小易——网易笔试
  5. 混合云是趋势?阿里云与私有云厂商 ZStack合作
  6. 一些人一旦离开原来的单位,就不爱再去了,是为什么?
  7. python建立英文语料库_使用NLTK创建新的语料库
  8. Java中获取当前时间、昨天、三天前、一周前、一月前时间(2)
  9. 模数转换芯片AD7705的使用心得
  10. 【文献阅读】ERNIE: Enhanced Representation through Knowledge Integration
  11. 太阳能电池基本特性实验报告_太阳能电池基本特性研究实验报告
  12. 尊享e生爸妈版2020:60岁以上的老人也能买百万医疗险了?!
  13. Qt-QCustomPlot
  14. 学生个人消费系统设计C语言,个人消费管理系统C语言课程设计毕业设计word格式.doc...
  15. 【PHP+微信开发】实现微信对账单处理
  16. macos esc按键失效,无法退出vim
  17. Cluster analysis :Basic Concepts and Algorithms -- Part 5 Cluster Evalation
  18. Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base(笔记)
  19. Latex公式内行间距,字体大小控制
  20. 2022年第七届数维杯大学生数学建模挑战赛报名通知

热门文章

  1. 代理网络中安装tomcat的注意事项
  2. 中山大学自主招生面试题:假如广州停电5分钟
  3. 做手好菜,骗个好女孩做女朋友(一)
  4. 程序员专属段子集锦 5/10
  5. linux shell中的流编辑器sed的使用
  6. LightOJ 1245 - Harmonic Number (II)
  7. Java监听器Listener使用说明
  8. JSON与XML优缺点对比分析
  9. php中global和$GLOBALS[]的分析之一
  10. Elegant Gnome Pack - 桌面环境