【转载】--FTP服务搭建

来源:互联网 发布:python编写程序化交易 编辑:程序博客网 时间:2024/04/30 16:47

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/44560257


知识储备


1)、很简单的ftp搭建

        在客户这工作的这段时期,已经由最初的完成本职维护管理工作外,演变成了一种IT服务性质的工作任务。不仅局限在我们的数据库问题、服务器问题了,常常客户有些单独的服务类需求也会找到我。这一次,客户希望我帮助搭建一个FTP服务器,为了维护客户的关系,这一次当然也是欣然接受了。

        安装过程很简单,一路下一步,就可以轻松搞定安装,如下截图步骤:

至此,Serv-U安装完成。

 

进入管理控制台,新建域,如下:

配置完成,接下来到区域网其它的pc机上看一下效果,如下图:

登陆后,就会看到FTP服务器上的目录显示出来了,如下图:

至此,一个简单的使用Serv-U软件搭建FTP服务的过程演示完毕。 

2)、出问题了,客户其实想要的更多

        在简单的搭建完成,创建一个访问路径后,以为工作完成了,而实际上却不是,客户提出了新的需求:建立上传目录(只能上传文件)、下载目录(只能下载文件),并且可以匿名访问,如下:

1、可以匿名访问

要求:无需密码就可以访问特定的目录

操作:添加匿名用户,不设置密码即可,如下添加anonymous用户,密码置空,如下所示:

完成设置后,如下:

2、上传文件夹

要求:只允许上传文件,不允许任意下载和打开!

操作:向匿名用户添加上传目录的操作权限,如下图:

3、下载文件夹

要求:只允许下载文件,不允许任意上传和修改!

操作:向匿名用户添加下载目录的操作权限,如下图:

修改完成后,可以看一下效果,登陆FTP(如:FTP://192.168.56.131),弹出如下界面:

检查效果:

1、上传目录

目标:上传文件应该成功,下载文件应该失败。

验证:

上传文件:成功!

下载文件:失败!

验证上传目录功能成功!

2、下载目录

目标:上传文件应该失败,下载文件应该成功。

验证:

上传文件:失败!

下载文件:成功!

验证下载目录功能成功!

3)、后续的小插曲,要搞定注册

        使用了一段时间后,客户突然回馈说FTP出了问题,检查发现提示试用版已经到期。

        原来是忘记了注册了!这次可是粗心大意了!于是赶紧亡羊补牢吧。

        查找Server-U的注册码,注册完成,如下图所示:

注册完成后,以为万事大吉了,但是没想到啊。。。

4)、需要重启的服务

        两天后发现,每隔12小时Server-U会自动停止,如下图:

        发现服务停止后,手工“停止服务”,再手工“启动服务”,FTP恢复正常。

        如何解决这个问题呢?

        采取了一个非直接的方法,使用windows的定时任务,每隔5小时触发一次对于Server-U-Tray.exe程序和Serv-U程序的“杀死”和“启动”,这个问题看似是解决了。

如上图中,用四个计划任务,用来分别触发四个执行操作,执行的四个操作,如下图中的四个:

killSer-U.bat:执行杀死serv-U的进程,对应计划任务1

启动.bat:启动Serv-U的进程,对应计划任务2

Serv-U.exe:启动Serv-U服务的应用程序,对应计划任务3

killSer-U-Tray.exe:启动Serv-U控制台的应用程序,对应计划任务4

 

在这里补充一个小知识:

[plain] view plain copy
  1. killSer-U.bat的内容:  
  2. 对于杀死进程,可以在cmd命令窗口中完成,如下指令:  
  3. taskkill /im Serv-U-Tray.exe /f  
  4. taskkill /im Serv-U.exe /f  
  5. --taskkill表示杀死进程,im后面写需要杀死的进程名,f代表强制执行。  
  6. 补充完毕。   

5)、问题依旧在,让人纠结的Serv-U

        就在以为万事ok的第二天,再次让我陷入纠结中,Serv-U在早上并没有正常启动,而是像之前那样服务又被停止了,而且需要我手工关闭服务,再手工启动服务。

        这让我如何是好呢?除了每天人为“关闭”、“启动”,难道就没有其它方法了吗?

        接下来,有两个想法来解决这个问题:

思路1:卸载软件,重新安装,安装后及时注册;

思路2:使用windows定时任务,查找到之前定时任务无法达到理想效果的原因;

        经过短暂的思考后,我决定使用思路2,放弃思路1的原因是因为这次安装的软件已经经过绿化处理,即使卸载,windows注册表中仍可能保留某些注册信息,重新安装可能无法解决问题。而且这个过程比较繁琐,有很多不确定性。因为现在的这个FTP虽然需要每天人为重启“服务”但毕竟还能用,卸载再安装谁能保证不出现其它的问题呢。

        于是,沿着思路2的想法,感觉使用定时任务是完全可以达到启动软件服务效果的,之前不成功一定是哪里出了问题。

         经过一番查看、尝试后,发现在停止Serv-U的相关进程后,Serv-U的服务仍然存在,如下图:

        在Serv-U服务存在的情况下,再启动Serv-U服务是无法达到重启Serv-U的效果的。于是需要加入一步删除Serv-U服务的步骤。决定删除原有的定时任务,重新制定定时任务,如下:

在这里的个定时任务设置规则如下:

早上关闭Serv-U服务(8:00):执行deleteServ-U.bat脚本

早上关闭FTP服务(8:02):执行killSer-U.bat脚本

早上启动FTP8:03):执行Serv-U程序

晚间关闭Serv-U服务(21:00):执行deleteServ-U.bat脚本

晚间关闭FTP服务(21:02):执行killSer-U.bat脚本

晚间启动FTP21:03):执行Serv-U程序

补充:

[plain] view plain copy
  1. (1)、deleteServ-U.bat脚本内容如下:  
  2. sc delete Serv-U  
  3. (2)、killSer-U.bat脚本内容如下:  
  4. taskkill /im Serv-U.exe /f  
  5. 补充完毕。  


        这次重新制定了定时任务,在第二天早上到达客户处验证了效果,FTP使用正常,这回可以松一口气了。

O(_)O~

 

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/44560257

原创粉丝点击