vsftpd安装配置以及踩坑解决办法,Centos7

nginx已经配置成功了,但是使用http始终没办法访问到图片,那么你来对地方了(在文章末尾是原因)

配置nginx教程:http://blog.csdn.net/xianzhixianzhixian/article/details/78891657

进入正题,安装配置vsftpd开始

1、安装vsftpd:安装完成之后会有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件

# yum -y install vsftpd

2、添加ftp用户:一个用户建完,可以用这个登录;记得用普通登录不要用匿名了,登录后默认的路径为 /home/ftpuser.

# useradd ftpuser

3、设置ftpuser的密码

# passwd ftpuser

4、为用户分配主目录

用以下命令创建,但是该目录不能上传文件

mkdir -p /home/ftp/pub

创建欢迎文件

echo "Welcome to use FTP service." > /home/ftp/welcome.txt

设置访问权限

chmod a-w /home/ftp && chmod 777 -R /home/ftp/pub

设置为用户主目录

usermod -d /home/ftp ftpuser

4、iptables开启端口21:ftp默认的端口为21,而centos默认是没有开启的,所以要修改iptables文件

修改完毕之后按下esc,然后输入 :wq 回车,重启服务

# vim /etc/sysconfig/iptables

# service iptables restart

如图:

5、修改 selinux:外网是可以访问上去了,可是发现没法返回目录(使用ftp的主动模式,被动模式还是无法访问)也上传不了,因为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

执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问

# setsebool -P allow_ftpd_full_access on

# setsebool -P ftp_home_dir on

6、关闭匿名访问:将anonymous_enable=YES改为anonymous_enable=NO

修改完毕之后按下esc,然后输入 :wq 回车,重启服务

# vim /etc/vsftpd/vsftpd.conf

# service vsftpd restart

7、 开启被动模式

# vim /etc/vsftpd/vsftpd.conf

在文件末尾加上

pasv_min_port=30000

pasv_max_port=30999

表示端口范围为30000~30999,这个可以随意改,改完重启一下vsftpd

# service vsftpd restart

由于指定这段端口范围,iptables也要相应的开启这个范围

# vim /etc/sysconfig/iptables

修改完毕后重启iptables

# service iptables restart

8、修改nginx配置文件,不修改的话不能用http前缀访问到图片

在这里需要注意两点

a、/home/ftpuser的所有者为ftpuser,如果不是如图所是的话,用chown和chgrp改为ftpuser;权限文件拥有者为7,用户组和其他用户要有读权限

b、最重要的一步:nginx文件的配置,我的图片是放在/home/ftpuser/images/,所以我在nginx中的配置如图;这样配置了之后应该就可以用http前缀访问图片了

# vim /usr/local/nginx/conf/nginx.conf

重新加载服务

# cd /usr/local/nginx/sbin

# ./nginx -s reload

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(5)-EF增删改查
  2. [LeetCode] Merge k Sorted Lists 合并k个有序链表
  3. PetaPoco4.0 实体某个字段不赋值会更新成null解决方案
  4. Unity3D LuaComponent(基于ulua)
  5. CI3.0控制器下面建文件夹 访问一直404 的解决方法
  6. MySQL的高可用设计方案的记录
  7. spring+mybaties+springMvc+slf4j所需jar包
  8. Java Spring DI之旅
  9. GeoHash核心原理解析
  10. Xcode集成Google Test
  11. Java数据类型(一)
  12. html自定义提示框
  13. 【Chromium中文文档】跨平台开发的约定与模式
  14. django form表单验证
  15. Java关于BufferedWriter.newline()换行的注意事项
  16. sonar-代码扫描
  17. [LeetCode] Champagne Tower 香槟塔
  18. CCF-CIDR合并-201812-3
  19. Linux_问题
  20. 91. Reverse Linked List 反转链表

热门文章

  1. mysql 表结构
  2. Python单元测试unittest【转自https://www.cnblogs.com/feng0815/p/8045850.html】
  3. c#: 简单的日志管理类(TextWriterTraceListener)
  4. java命令分析线程死锁以及内存泄漏
  5. 认识正则RegExp;
  6. kubernetes namespace Terminating
  7. 三次样条插值算法C++实现
  8. 微信小程序设置背景铺满全屏
  9. 转 node.js和 android中java加密解密一致性问题;
  10. Spark大数据针对性问题。