【T电商2】ftp服务器搭建

时间:2022-07-01 07:38:20

一、为什么需要ftp?

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

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

【T电商2】ftp服务器搭建

分布式图片管理:

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