一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通。后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程。现在,代码先走FTP吧,挺稳。

FTP简介

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。

在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。

用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

FTP安装

首先检查一下你的远程服务器是否已经安装了FTP服务。

#rpm -qa | grep vsftpd

如果啥都没显示,恭喜你,没有安装ftp服务,你可以安心的进行下面的动作了。如果有vsftpd的版本,那该干啥干啥去,这章不适合你!!!

那我们首先安装vsftpd。

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。

运行下面的命令就可以完成vsftpd的安装

#yum -y install vsftpd

安装完成再次利用上面的rpm命令检查一下是否完成安装,如果完成安装,那就可以继续。

开启vsftpd服务

#service vsftpd start

检查vsftpd服务

#service vsftpd status

注意,ftp服务使用的是21端口,有时候也使用20端口。我们之前设置的iptables防火墙服务阻止了这一端口,所以也要添加下面的代码到/etc/sysconfig/iptables里去。

A INPUT -p tcp -m state --state NEW -m tcp --dport  -j ACCEPT

重启防火墙服务

#systemctl restart iptables.service

好的,到这里,我们的默认ftp服务就已经开始运作啦,让我们来测试一下吧。

#ftp localhost

用户名称那一栏输入anonymous(匿名)

得到下面的信息就标识你的vsftp服务安装已完成。

在ftp>后面输入bye,先暂时和ftp告别,因为我们还有一些事没干呢。

配置vsftpd服务

打开vsftpd服务的配置文件

#vim /etc/vsftpd/vsftpd.conf

改变这几个属性的值,具体是啥意思呢,当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。为了以后好控制,我们先打开这几个配置。

保存退出,我们新建一个chroot_list文件

#touch /etc/vsftpd/chroot_list

重启vsftp服务

#service vsftpd restart

新增ftp用户

#/usr/sbin/adduser -d /usr/www/ftptest -g ftp -s /sbin/nologin vftpuser

新增用户vftpuser,用户的主目录是/usr/www/ftptest目录,用户组是ftp,不能登录的账户。

设置vftpuser密码

#passwd vftpuser

修改/usr/www/ftptest的目录权限

#chmod  /usr/www/ftptest/

重启vsftp服务

#/sbin/service vsftpd restart

设置权限

查看SElinux策略内ftp相关权限

#getsebool -a | grep ftp

打开ftp权限

#setsebool allow_ftpd_full_access 

重启vsftp服务

#/sbin/service vsftpd restart

现在,可以在本机ftp远程服务器啦。不过,枫爷推荐大家一款比较实用的ftp软件:filezilla。相当好用,至于怎么用,大家自行百度即可。

可能遇到的问题

问题1:SElinux未关闭导致无法访问,可以尝试将selinux策略先行关闭。

#vim /etc/selinux/config

将SELINUX一栏设置为disable即可

问题2:filezilla打开时会报以下的错误

打开你的站点管理,点击进入传输设置

按照图中的配置配置传输模式,即可完成链接。

【CNMP系列】CentOS7.0下安装FTP服务的更多相关文章

  1. CentOS7.0下安装FTP服务的方法

    http://www.jb51.net/article/106604.htm   本篇文章主要介绍了CentOS7.0下安装FTP服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟 ...

  2. 【CNMP系列】CentOS7.0下安装Nginx服务

    话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Ngi ...

  3. 【CNMP系列】CentOS7.0下安装PHP5.6.30服务

    上一节我们讲过了如何在CentOS7.0下安装MySql服务,如果没有看到欢迎页面的朋友,可以加我的个人微信详聊:litao514148204 附上一节地址:http://www.cnblogs.co ...

  4. 【CNMP系列】CentOS7.0下安装MySql5.6服务

    接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MyS ...

  5. 【Tomcat】CentOS7.0下安装多个Tomcat及其配置

    安装前所需环境 在开始安装Tomcat之前,需要安装环境JDK,并配置JAVA环境.如果不知道如何配置,可参考这篇博客:[Linux]CentOS7.0下安装JDK环境 Tomcat安装 Tomcat ...

  6. 【Linux】CentOS7.0下安装JDK环境

    写在前面:此次试验是在CentOS7上面安装的,亲测成功. 所需工具:JDK1.8安装包,xftp 具体步骤: 1,首先使用xftp连接到自己的虚拟机,然后查看是否有"/usr/java/j ...

  7. centos7.0 下安装jdk1.8

    centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...

  8. Linux下安装FTP服务(Ubuntu)

    在Ubuntu 14.04 上安装 FTP 服务 第一步>>更新库 linuxidc@linuxidc:~$ sudo apt-get update 第二步>>采用如下命令安装 ...

  9. CentOS7下安装FTP服务

    1.安装vsftp 1.1.安装vsftp,测试安装的vsftpd的版本是:vsftpd.x86_64 0:3.0.2-11.el7_2 yum -y install vsftpd 1.2.修改配置文 ...

随机推荐

  1. 安卓 canvas

    [转]http://blog.sina.com.cn/s/blog_61ef49250100qw9x.html(easy) [转]http://blog.csdn.net/rhljiayou/arti ...

  2. DataTable.DataRow的复制

    经常遇到这种错误,“此行已属于另一个表”的错误,导致这个错误的语句如下: dtPriceTable.Rows.InsertAt(aDataRow,i); 或者 dtPriceTable.Rows.Ad ...

  3. 3.IP协议,ARP协议,RARP协议

    1.IP协议 IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输.要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制 ...

  4. 分享Grunt.js配置: watch + liveReload 实时监测文件变化自动刷新浏览器

    http://www.tuicool.com/articles/2eaQJn 用Grunt配置watch和liveReload组件,可以实时检测指定的文件变化并自动刷新浏览器.目前基本已经成为了我的必 ...

  5. PHP中文件包含的路径问题

    在程序中当前文件夹下文件路径可以表示为3种:1)绝对路径,2)相对路径,3)直接文件名 例如在/var/www下的a.php:1)/var/www/a.php 2)./a.php 3)a.php 在P ...

  6. PHP新手之学习类与对象(3)

    四.访问控制 对属性或方法的访问控制,是通过在前面添加关键字 public.protected 或 private 来实现的.由 public 所定义的类成员可以在任何地方被访问:由 protecte ...

  7. 字符集 ISO-8859-1(1)

    HTML 4.01 支持 ISO 8859-1 (Latin-1) 字符集. ISO-8859-1 的较低部分(从 1 到 127 之间的代码)是最初的 7 比特 ASCII. ISO-8859-1 ...

  8. mongoDB文档操作

    数据库操作无非就是增.删.改.查.这篇主要介绍增.删.改. 1.增 Mongodb插入操作很简单,使用关键字“insert”.实例: > db.test.blog.insert({"h ...

  9. 手机APP测试思路及测试要点

    一  手机APP测试基本思路: 测试计划--测试方案--测试用例--执行: 很多小公司都没有具体的需求,项目时间也比较紧,而且流程也不是很严谨,在这样的情况之下,作为测试的我们,该怎样去对项目进行用例 ...

  10. 微信LazyMan笔试题的深入解析和实现

    一.题目介绍  以下是我copy自网上的面试题原文: 实现一个LazyMan,可以按照以下方式调用: LazyMan("Hank")输出: Hi! This is Hank!   ...