2019-10-11

FTP 服务器

FTP服务器简介:

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在 FTP 的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。 "下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用 Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。


VSFTPD

VSFTPD简介:

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd是一个  UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如  Linux、 BSD、 Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp 服务器软件,支持很多其他的FTP 服务器所不支持的特征。

服务器图片上传下载的应用

单体架构中的图片管理

在传统的单体架构项目中,可以在 web 项目中添加一个文件夹,来存放上传的图片。

如下图:

优点:使用方便,便于管理

缺点:

1、如果是分布式环境中图片引用会出现问题。

2、因为使用到IO流,图片的下载会给服务器增加额外的压力。

传统图片管理方式在分布式环境中的问题:


图片上传时,访问的是tomcat1,保存在项目中,但是tomcat1损坏,图片下载是访问的是Tomcat2,此时图片就下载不了了。

分布式环境的图片管理 

使用FTP服务器保存静态的资源,tomcat服务器保存动态的数据。

文件上传时通过负载均衡分配给tomcat服务器,tomcat服务器根据FTP客户端工具(FTPClient工具)将静态资源上传给FTP服务器。

文件下载时FTP服务器只能处理ftp协议的请求,不能处理HTTP协议的请求,通过nginx服务器代理的方式可以解决此问题。

安装 VSFTP

步骤:

1 安装vsftpd组件

yum -y install vsftpd    //安装后配置文件地址:/etc/vsftpd/vsftpd.conf 

2 添加一个 Linux 用户

useradd ftpuser    //用户目录存放在/home/ftpuser.

3 给用户添加密码。

passwd ftpuser   

4 防火墙开启21端口 或者关闭防火墙

vim /etc/sysconfig/iptables 

修改如下:

重启防火请  service iptalbes restart

5 修改selinux

外网是可以访问上去了,可是发现没法返回目录(使用 ftp的主动模式,被动模式还是无法

访问),也上传不了,因为 selinux作怪了。

执行以下命令查看状态:

[root@bogon ~]# getsebool -a | grep ftp   

将allow_ftpd_full_access --> off  和

ftp_home_dir --> off 改为on

执行命令:[root@bogon ~]# setsebool -P allow_ftpd_full_access on

[root@bogon ~]# setsebool -P ftp_home_dir on

6 关闭匿名访问

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


7.重启ftp服务:

service vsftpd restart

8. 设置开机启动 vsftpd ftp服务

chkconfig vsftpd on

使用 FTP协议访问图片服务器 

格式:ftp://username:userpassword@IP/路径/图片名称

注意:在 VSFTPD 的插件中。不允许这样访问。必须要有登录环节。且/home/ftpuser需省略。 

FTPClient工具

1.什么是FTPClient

FTPClient是Apache 提供的一个开源的基于JAVA语言的FTP 客户端工具。

FTPClient位于Apache的commons-net项目中。

2.FTPClient的使用(使用方式与filezalla上传机制类似)



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ftp 文件传输协议 跨平台 上传下载文件 vsftpd 工具:非常安全的文件传输协议;默认的命令端口21号,数据...
    柒夏锦阅读 9,566评论 1 9
  • FTP服务概述 简单FTP构建及访问 VSFTP服务基础 用户禁锢、黑白名单 FTP并发及带宽限制 一、FTP服务...
    紫_轩阅读 12,359评论 3 25
  • Nginx 1.什么是Nginx Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性:...
    袁小胜阅读 1,409评论 0 0
  • 19组-秦凡栋-4562 今天是第17次打卡 今日作业: 1、A、B、C账号的定位; 2、做一份可以对外输出的的课...
    af2ed3dd607c阅读 937评论 0 0
  • 日更第182天 娃们中午睡醒之后,带着她们俩在楼下玩,有一个小男孩也在玩儿,他的奶奶在后面陪着他 小男孩骑车平衡车...
    诺诺爱苹果阅读 1,657评论 0 1

友情链接更多精彩内容