vsftpd安装配置以及常见问题解决
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
最新文章
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(5)-EF增删改查
- [LeetCode] Merge k Sorted Lists 合并k个有序链表
- PetaPoco4.0 实体某个字段不赋值会更新成null解决方案
- Unity3D LuaComponent(基于ulua)
- CI3.0控制器下面建文件夹 访问一直404 的解决方法
- MySQL的高可用设计方案的记录
- spring+mybaties+springMvc+slf4j所需jar包
- Java Spring DI之旅
- GeoHash核心原理解析
- Xcode集成Google Test
- Java数据类型(一)
- html自定义提示框
- 【Chromium中文文档】跨平台开发的约定与模式
- django form表单验证
- Java关于BufferedWriter.newline()换行的注意事项
- sonar-代码扫描
- [LeetCode] Champagne Tower 香槟塔
- CCF-CIDR合并-201812-3
- Linux_问题
- 91. Reverse Linked List 反转链表
热门文章
- mysql 表结构
- Python单元测试unittest【转自https://www.cnblogs.com/feng0815/p/8045850.html】
- c#: 简单的日志管理类(TextWriterTraceListener)
- java命令分析线程死锁以及内存泄漏
- 认识正则RegExp;
- kubernetes namespace Terminating
- 三次样条插值算法C++实现
- 微信小程序设置背景铺满全屏
- 转 node.js和 android中java加密解密一致性问题;
- Spark大数据针对性问题。