一、为什么需要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
<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
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组就好了。有时候就是在连接的时候,访问列表错误,这时候一般是需要更改主被动访问模式。总之:耐心点!