【73】
一、 FTP 服务器
FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。
用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议以传 输文件。 在 FTP 的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。
"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计 算机中拷贝至远程主机上。用 Internet 语言来说,用户可通过客户机程序向(从)远程主机 上传(下载)文件。
二、 VSFTPD 简介
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、
HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的 FTP 服务器所不支持的特征。
比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。在开源操作系统中常用的FTPD套件主要还有ProFTPD、PureFTPd和wuftpd等
作用:vsftp是提供ftp服务,就是本地电脑上可以使用ftp软件上传和下载服务器上的内容。
特点:
1、提供交互式的访问,使得用户更容易通过 操作命令与远程系统交互;
2、允许客户指定存储文件的类型与格式;
3、具备鉴别控制能力,允许文件具有存取权限;
4、屏蔽了计算机系统的细节,因而适合于在 异构网络中任意计算机之间传送文件。
三、 单体架构中的图片管理
在传统的单体架构项目中,可以在 web 项目中添加一个文件夹,来存放上传的图片。 例如在工程的根目录 WebRoot 下创建一个 images 文件夹用于保存已上传的图片。
优点:使用方便,便于管理
缺点: 1、如果是分布式环境中图片引用会出现问题。
2、图片的下载会给服务器增加额外的压力
单体架构图片存储架构图
传统图片管理方式在分布式环境中的问题
四、分布式环境的图片管理
五、Linux上安装VSFTPD插件,实现文件上传。
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
1)查看状态
说明:红色的需要开启的
2)修改红色框对应的状态
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
6 关闭匿名访问
修改/etc/vsftpd/vsftpd.conf 文件:
重启 ftp 服务:
service vsftpd restart
7、使用 FileZilla 上传图片
8.测试是否搭建成功
在浏览器中输入
ftp://username:userpassword@ip/路径/图片名称
说明:在 VSFTPD 的插件中。不允许这样访问。必须要有登录环节