一、为什么需要ftp?

分布式环境一般都有一个专门的图片服务器存放图片。我们使用虚拟机搭建一个专门的服务器来存放图片。在此服务器上安装一个nginx来提供http服务,安装一个ftp服务器来提供图片上传服务。

首先,传统的图片管理方式:

分布式图片管理:

PS:这两张图片,让我想起来当时做单点登录的时候,将用户信息保存到memcache中去一样。就是想到了而且,没有什么确证的逻辑关系。

二、安装

上篇文章介绍到安装软件的几种不同方式,这次,我依然采用自己最为喜欢的yum方式安装。备注:请先获取root权限

1,首先:yum -y install vsftpd

2,其次:更改vsftpd.conf配置文件信息vi /etc/vsftpd/vsftpd.conf

<span style="font-family:KaiTi_GB2312;font-size:18px;"># Allow anonymous FTP? (Beware - allowed by default if you comment this out).
#anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=YES
# </span>

取消匿名登录:将anonymous_enable改为NO,或者注释掉

然后,文档的最后面改为:

<span style="font-family:KaiTi_GB2312;font-size:18px;"># sockets, you must run two copies of vsftpd with two configuration files.
# Make sure, that one of the listen options is commented !!
#listen_ipv6=YES pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
local_root=/var/public_root
tcp_wrappers=YES</span>

3,增加ftp用户

这里设置账户名为HHX,密码为HHX

设置用户:useradd HHX -s /sbin/nologin

设置密码:passwd HHX

4. 编辑user_list文件,允许HHX用户访问FTP

vi /etc/vsftpd/user_list
<span style="font-family:KaiTi_GB2312;font-size:18px;"># vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
HHX</span>

5,建立根目录,设置访问权限

<span style="font-family:KaiTi_GB2312;font-size:18px;">[root@localhost ~]# mkdir /var/public_root
[root@localhost ~]# chown -R HHX /var/public_root
[root@localhost ~]# chmod -R 755 /var/public_root</span>

6,开启vsftp服务

service vsftpd start

备注:正常情况下,现在使用ftp客户端就可以连接上了,如果连接不上的话,请注意以下两点的更改:

1,修改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

2,修改主、被动模式

打开vsftpd.conf文件,在后面添加上

pasv_min_port=30000

pasv_max_port=30999

然后,更改防火墙vim /etc/sysconfig/iptables

将22 -j ACCEPT另起一行,将22换成21

然后再起一行,将22换成30000:30999,然后:wq!强制保存退出。重启iptables,重启服务器。完工!

三、总结

ftp的安装就这么结束了,下一篇博客,介绍Nginx作为http服务器和ftp作为文件服务器是怎么联合使用的。在安装这个的时候,或者使用yum进行安装的时候,会遇到一些问题,但是不要惊慌,一个个的解决,都会变好的。最常见的问题就是无法解析host,这时候去查一查,然后加上nameserver组就好了。有时候就是在连接的时候,访问列表错误,这时候一般是需要更改主被动访问模式。总之:耐心点!

最新文章

  1. jQuery的DOM操作实例(2)——拖拽效果&amp;&amp;拓展插件
  2. windows server 2012 FTP SMB 文件夹权限继承
  3. unity 4.x 从入门到精通(持续更新)
  4. FIREDAC TFDCONNECTION连接MYSQL数据库
  5. andengine游戏引擎总结进阶篇1
  6. leetcode[67] Plus One
  7. asp.net 验证码技术
  8. POI 3.8读取2003与2007格式EXCEL(xls、xlsx)
  9. C++判断一个数字是否为质数
  10. JavaScript问题——在浏览器中的offsetLeft/offsetWidth等属性是什么?
  11. C#拷贝一个库的表到另外一个库中(的四种方式)
  12. 一个linux bbr存在的调用顺序bug
  13. ElasticSearch权威指南学习(排序)
  14. 作业6-COSPLAY孩子他家长
  15. TZOJ 4848 货车运输(最大生成树+倍增lca)
  16. priority_queue的优先级变化(结构体的写法)
  17. 在ubuntu16安装supervisor 并 启动 .net core.
  18. spring代理例子
  19. 6.1课堂笔记—DML(数据操作语言),DQL查询语句
  20. Kaggle:Titanic: Machine Learning from Disaster

热门文章

  1. SOLR-disMax查询参数
  2. AJPFX总结String类的特点
  3. markdown快捷键(转)
  4. 找不到draw9patch.bat?已经不用找了
  5. SpringBoot学习 (一) Eclipse中创建新的SpringBoot项目
  6. 在phpnow中配置phpunit
  7. 第16周翻译:SQL Server中的事务日志管理,级别3:事务日志、备份和恢复
  8. Solidity 智能合约开发
  9. VBA Promming入门教程——变量的使用
  10. VsCode使用之HTML 中 CSS Class 智能提示