首先我们需要安装nginx,详细步骤。https://blog.csdn.net/BushQiang/article/details/82852411
1.使用yum安装vsftpd
yum -y install vsftpd
2.添加一个ftp用户,并设置密码,输入两次一样的密码
1. useradd ftpuser 2. passwd ftpuser
使用该用户登录后,默认的路径为 /home/ftpuser
3.防火墙开启21端口,ftp的默认端口是21
vim /etc/sysconfig/iptables
添加一行
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
重启防火墙
service iptables restart
4.修改selinux
查询selinux策略
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
allow_ftpd_anon_write :关闭这个布尔变量会阻止 vsftpd 读取 public_content_rw_t 类型的文件和目录。如果允许用户通过 FTP 上传文件。必须开放这个布尔变量。
allow_ftpd_full_access:当开放这个布尔变量时只有 Linux(DAC)的权限来控制访问,通过验证的用户可以读取和写入标记为 public_content_t 或 public_content_rw_t 类型的文件。
allow_ftpd_use_cif:当开放这个布尔变量时 vsftpd 允许 cifs_t 类型的文件和目录,因此这个布尔变量启用,可以让你的 FTP 服务器可以使用 Samba 文件系统。
allow_ftpd_use_nfs vsftpd:的当开放这个布尔变量时 vsftpd 允许 nfs_t 类型的文件和目录,因此这个布尔变量启用,可以让你的 FTP 服务器可以使用 NFS 文件系统。
ftp_home_dir:当开放这个布尔变量时认证用户可以读写自己的主目录中的文件。
ftpd_connect_db:当开放这个布尔变量时允许 vsftpd 连接数据库。
httpd_enable_ftp_server:当开放这个布尔变量时容许的 httpd 作为 FTP 服务器,并且监听 FTP 端口。
tftp_anon_write:当开放这个布尔变量时允许 TFTP 访问一个公共的目录。
如果要外网访问,需要把allow_ftpd_full_access和ftp_home_dir变成on
setsebool -P allow_ftpd_full_access on setsebool -P ftp_home_dir on 或者 cd var/ftp setsebool allow_ftpd_full_access 1 setsebool ftp_home_dir 1
启动的时间比较久
然后再使用 getsebool -a | grep ftp命令查看是否变成on
5.ftp关闭匿名访问,这样就需要用账号密码才能登陆,改为NO
vim /etc/vsftpd/vsftpd.conf
6.重启ftp服务
service vsftpd restart
7.开启被动模式
vim /etc/vsftpd/vsftpd.conf
默认是开启的,但是要指定一个端口范围,打开vsftpd.conf文件,在后面加上
pasv_min_port=30000
pasv_max_port=30999
表示端口范围为30000~30999,这个可以随意改。改完重启一下vsftpd
由于指定这段端口范围,iptables也要相应的开启这个范围,所以像上面那样打开iptables文件。
vim /etc/sysconfig/iptables
也是在21上下面另起一行,更那行差不多,只是把21 改为30000:30999,然后:wq保存,重启下iptables。这样就搞定了。
这样vsftpd就配置好了,我们要在nginx的conf配置文件里面指向ftp的路径,才能访问里面的图片
8.nginx指向ftp路径
vim /usr/local/nginx/conf/nginx.conf
修改框框的内容,然后在ftpuser下面创建www文件夹,把www的文件夹权限改成777,在www下创建images,修改权限为777
上传一张图片试试
访问成功