Apache FTP Server環境搭建-個人總結
前記
前段時間換了一臺臺式機,因此需要從筆記本中拷貝一些以前的資料。但是由於自己並沒有比較大的硬盤,因此想到搭建FTP服務器。以前用過微軟一款Serv-U服務器,配置超級繁瑣,用的超級不爽。網上查找後發現Apache FTP Server開源,可配置選項多,因此就選擇了它。
軟件下載、解壓
Apache FTP Server網站下載1.0.6Release版本後解壓到本地文件夾。(個人文件夾:D:\tools\apache-ftpserver-1.0.6,後面以%FTP_Server%代替)。文件夾包括三個上子文件夾,重點關注bin、res文件夾即可。
下載地址:http://mina.apache.org/ftpserver/downloads.html
軟件配置
-
Java環境安裝
略 -
安裝Service
以命令行方式進入%FTP_PATH%\bin目錄,運行service.bat命令
service install
(最好以管理員權限運行,否則易導致安裝失敗)
安裝好後,能在電腦服務中找到Apache FTPServer -
配置
%FTP_Server%\res\conf 文件夾下有ftpd_typical.xml、users.properties兩個文件,簡要說明下。XML文件配置了以下幾項:密碼明文管理,端口爲21號端口。
users.properties配置用戶:包括密碼、上傳速度等。這個網上很多說明,簡要地附上以下說明。#FTP用戶名:myusername,密碼:12345678(上文設置成明文保存) ftpserver.user.myusername.userpassword=12345678#FTP主目錄 ftpserver.user.myusername.homedirectory=./ftp_space ftpserver.user.myusername.enableflag=true ftpserver.user.myusername.writepermission=true ftpserver.user.myusername.maxloginnumber=3 ftpserver.user.myusername.maxloginperip=3 ftpserver.user.myusername.idletime=0 ftpserver.user.myusername.uploadrate=0 ftpserver.user.myusername.downloadrate=0
-
啓動
命令行方式直接啓動,注意加上剛纔修改的配置文件。以我的配置爲例:
ftpd.bat res/conf/ftpd-typical.xml
(可以保存一個BAT文件,方便啓動)
但是個人使用的環境:Win7 64位似乎存在問題,所以按照下博客方法順利解決,謝謝這位博主。
Apache FtpServer在64位系統下服務不能啓動解決方法:http://zuoqiang.iteye.com/blog/1557988實驗
今天通過臺式機與筆記本做傳輸測試,發現速度很快,平均在10M/S以下(局域網環境)。
配置過程中主要遇到以下幾個問題: - 服務無法啓動
-
21號端口無法啓動
端口查看命令:netstat -aon | findstr “61616”
任務查看命令:tasklist /fi “pid eq PID”(查看pid進程)
任務結束命令:tskill pidUsing XML configuration file res/conf/ftpd-typical.xml... org.apache.ftpserver.FtpServerConfigurationException: Failed to bind to address 0.0.0.0/0.0 at org.apache.ftpserver.listener.nio.NioListener.start(NioListener.java:181) at org.apache.ftpserver.impl.DefaultFtpServer.start(DefaultFtpServer.java:80) at org.apache.ftpserver.main.CommandLine.main(CommandLine.java:62) Caused by: java.net.BindException: Address already in use: bind at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:444) at sun.nio.ch.Net.bind(Net.java:436) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor.ja at org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor.ja at org.apache.mina.core.polling.AbstractPollingIoAcceptor.registerHandles(AbstractP at org.apache.mina.core.polling.AbstractPollingIoAcceptor.access$300(AbstractPollin at org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.run(AbstractPoll at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
接下來的工作:
- 對配置文件深入瞭解
- 暫時匿名登陸仍未配置成功
-------------------------------
這博客排版太坑爹了,如果大家有什麼好的方法,非常希望能留言告訴我。