您当前的位置:首页 > 建站知识 > 网站知识

让我们披荆斩棘,搭建好IIS上的FTP服务

发布时间: 2019-10-20 │ 浏览:3102 

购买了Windows服务器,创建站点或安装数据库时都有上传文件的需要,最简单的方法是用【远程桌面】连接时,共享本地磁盘:


登录远程服务器后,在资源管理器中返回来打开本地磁盘,复制本地文件到服务器:


此法简单,对于只是复制小文件和只要几次复制即能完成服务器配置时,这种方法是可行的。

但对于大文件的上传下载,平时需要频繁对服务器进行文件传输时,还是使用FTP服务高效。

首先添加一个Windows用户,作为FTP的用户名及密码,进到【控制面板】,找到【计算机管理】:



在【计算机管理】中找到【用户】节点,然后鼠标右击选【新用户】:


在弹出的界面中填好用户名和密码:


在点【创建】时,可能会出现提示【密码不满足密码策略的要求。检查最小密码长度、密码复杂性和密码历史的要求】:


当出现这个提示时,不管你改成怎么密码,都不会成功。这时只能关闭Windows用户的创建工作。再回到【管理工具】页,看【计算机管理】上面有【本地安全策略】:


双击之,找到节点【密码策略】,这时右栏出现【密码必须符合复杂性要求】:


双击【密码必须符合复杂性要求】,在弹出界面中选【已禁用】:


这样设定后,再回到上面的Windows用户创建,就不会再出现【密码不满足密码策略的要求】的提示了。

接下来就是FTP服务的安装。也许在你安装IIS时已选了FTP,检查的方法是看服务列表中有没有【Microsoft FTP Service】:



如果有,再双击【Microsoft FTP Service】看,是否是正常启动了:

这样的小心翼翼,也是为了每一步都做对了。

如果你的服务列表里没有【Microsoft FTP Service】,那就需要重装IIS(不记得怎么装IIS可点这里),走到【FTP服务器】:

要把【FTP服务】和【FTP扩展】勾选上,其它项都可以不选,一路点【下一步】到安装完成。

作为测试,我们在硬盘上新建一个文件夹,取名叫【myftp】,等下FTP连上时,看到的就是这个文件夹里的内容。
右击【myftp】文件夹,选【属性】,打开【属性】页:

翻到【安全】页,点中间的【编辑】按钮,弹出下面界面:

按【添加】键:

再点【高级】键,在这里找到上面我们在【计算机管理】中创建的Windows用户名【ftp】:


加好Windows用户【ftp】后,给其加上读写权限:

有了上面的准备工作,下面就可以创建【FTP站点】了。

进入IIS,在左侧【网站】节点上右击,选【添加FTP站点】,如下


弹出向导:

【ftp站名名称】:只是在IIS中的一个标识,填什么不重要,只要自己好认就行。
【物理路径】:按右边小按钮选择刚才我们新建的【myftp】文件夹。

按【下一步】,会出现下图界面:

【IP地址】和【端口】,默认不动,SSL选【无】。

下一步是身份验证和授权信息:

【身份验证】选【基本】;
【允许访问】选【指定用户】,这个用户就是我们上面在【计算机管理】里创建的Windows用户,这里只填用户名,密码是在我们用本地FTP客户端连接时才用到。
【权限】:把【读取】和【写入】都勾选上。
最后点【完成】。

至此,FTP站点创建完成,下来我们就在本地试连一下吧。
打开FlashFXP,填上服务器IP、用户名、密码。


也许你的电脑就连上了,但更多的时候你是连不上的,很多人会怀疑上面的配置步骤有问题,然后在网络上找新方法,可找来找去,都很难成功。于是觉得这个FTP不好用,就放弃了。花了时间又无结果,我也体味到这滋味不好受,于是决定带领大家走过这道坎。

Ping命令可以不用试了,因为我们最开始时,用【远程桌面】已能连上服务器。
那用Telnet命令测下端口,FTP服务器用到20端口,FTP客户端用到21端口,这两个都试一下吧:
telnet 服务器IP 20
telnet 服务器IP 21

结果都提示:

这是Win7默认没有装telnet服务,需要到本地电脑【控制面板】-【程序和功能】-【打开或关闭Windows功能】里勾选安装:


装好Telnet客户端后再回到DOS,输入
telnet 服务器IP 20

发现连不上端口:


看到这,大家都意识到是Windows防火墙的问题。

那我们先把服务器上的防火墙关闭吧:

如果你选择了已关闭防火墙,那么入站规则和出站规则就不用再加20和21端口了。


OK,再telnet一下吧。发现telnet能连上了,有点小欢喜。

我们再用FLashFXP连接,可能部分人会连上,FTP能用了。但还是有一部分人连不上。

我也是这部分人之一,感觉要崩溃了,没有理由啊。
郁闷了一周,今天突然收到阿里云的通知,说要迁移一台老的服务器,让我预约个时间,在填写预约时间表单时,有一项【专有网络安全组】,引起了我的注意。会不会阿里云还有一层防火墙呢?

在阿里云后台上找,果然有:


这里可定义安全组,规定可打开哪个端口,定义好安全组,多台服务器都可选定这个安全组的配置。
即然有了发现,那就马上行动,把规则加上:


不但加了20、21端口,还加上50000至65535端口,50000以上端口是FTP被动模式时用到的,端口最大值是65535。

这最后一关,终于过了。FlashFXP连接一切正常。

其实能顺利连通后,回过头来看,觉得简单。之所以有的人觉得难,是因为在配置过程中遇到问题得不到解决。