1、ftp介紹
(學習影片分享:程式設計入門)
在開始建立FTP服務之前,我先來為大家簡單介紹下ftp協定和ftp伺服器。
ftp協定: 一種檔案傳輸協定。在本機和伺服器之間進行檔案傳輸。
ftp伺服器:支援ftp傳輸協定的伺服器。一般windows都附有ftp服務,只是預設都沒啟動。
ftp相關軟體也比較多,其中運用比較廣泛的有Server-U、FileZilla、VsFTP、apache旗下的FtpServer。
由於工作需要,我們常常會將檔案拷貝到其他電腦,用U碟或其他儲存裝置拷貝的話很容易中病毒。基於這個原因,我們需要建立一個ftp伺服器,將我們需要共享的檔案放到伺服器上,只要網路正常,就很容易將我們所需要的檔案從伺服器上取下來。
今天我們就來介紹一個開源的ftp伺服器,Apache FTPServerFtpServer也就這次的主角,Apache FTPServer是一個100%純Java的FTP伺服器。 FTPServer可獨立運行作為Windows服務或Unix/ Linux後台程式或是嵌入在Java應用程式中。
接下來我們就以FtpServer為例,搭建ftp服務。
2、下載Apache FTPServer
可以到官網下載:http://mina.apache.org/ftpserver-project/downloads.html 目前最新版本是Apache FtpServer 1.1.1 Release,出於穩定考慮我這裡下載的就是1.0.6版本
3、下載並解壓縮壓縮包
將下載下來的壓縮包解壓縮到本地,我的是放在D盤根目錄下,其目錄結構如下圖:
4、修改設定檔
4.1修改users.properties設定檔
設定文件路徑: D:\apache-ftpserver-1.0.6\res\conf\users.properties 在此設定檔中可以增加使用者,如果不希望匿名登入的話,可以將匿名使用者這個設定註解掉
# Password is "admin" ftpserver.user.admin.userpassword=admin ftpserver.user.admin.homedirectory=./res/home ftpserver.user.admin.enableflag=true ftpserver.user.admin.writepermission=true ftpserver.user.admin.maxloginnumber=0 ftpserver.user.admin.maxloginperip=0 ftpserver.user.admin.idletime=0 ftpserver.user.admin.uploadrate=0 ftpserver.user.admin.downloadrate=0 ftpserver.user.anonymous.userpassword= ftpserver.user.anonymous.homedirectory=./res/home ftpserver.user.anonymous.enableflag=true ftpserver.user.anonymous.writepermission=false ftpserver.user.anonymous.maxloginnumber=20 ftpserver.user.anonymous.maxloginperip=2 ftpserver.user.anonymous.idletime=300 ftpserver.user.anonymous.uploadrate=4800 ftpserver.user.anonymous.downloadrate=4800 #密码 配置新的用户 ftpserver.user.lxw.userpassword=123456 #主目录 ftpserver.user.lxw.homedirectory=./res/home #当前用户可用 ftpserver.user.lxw.enableflag=true #具有上传权限 ftpserver.user.lxw.writepermission=true #最大登陆用户数为20 ftpserver.user.lxw.maxloginnumber=20 #同IP登陆用户数为2 ftpserver.user.lxw.maxloginperip=2 #空闲时间为300秒 ftpserver.user.lxw.idletime=300 #上传速率限制为480000字节每秒 ftpserver.user.lxw.uploadrate=48000000 #下载速率限制为480000字节每秒 ftpserver.user.lxw.downloadrate=48000000
4.2 修改ftpd-typical.xml設定檔
設定檔路徑: D:\apache-ftpserver-1.0.6\res\conf\ftpd-typical.xml
<server xmlns="http://mina.apache.org/ftpserver/spring/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd " id="myServer"> <listeners> <!-- 默认端口是2121,可以修改为自己的端口 --> <nio-listener name="default" port="2121"> <ssl> <keystore file="./res/ftpserver.jks" password="password" /> </ssl> </nio-listener> </listeners> <file-user-manager file="./res/conf/users.properties" encrypt-passwords="clear"/> <!-- 添加encrypt-passwords="clear",将密码加密方式修改给clear --> </server>
5、啟動FTPServer
開啟CMD指令窗口,切換到D:\apache-ftpserver -1.0.6\bin這個目錄下輸入以下指令:
service install ftpd.bat res/conf/ftpd-typical.xml
注意:由於ftpserver是純java寫的,所以第二個指令的執行需要在環境變數中設定java環境JAVA_HOME。 java環境此處省去,不會可以自行百度
輸入完指令之後如下圖所示,當出現FtpServer started 出現即啟動成功
## 6.訪問FTP在遊覽器中,輸入ftp://ip:2121進行訪問,如果端口修改了,要換成對應的端口,ip就是FTP所在的伺服器的ip,訪問如下圖所示:當然我們也能透過工具直接訪問,進行上傳和下載檔案操作下面提供一個比較好用的免安裝工具給大家,大家可以放心食用。 7.ftp 的啟動與關閉將dos命令視窗關掉,ftp服務即關閉那麼我們怎麼樣啟動ftp服務呢,#可以根據前面所提到的指令啟動,切換到D:\apache-ftpserver-1.0.6\bin這個目錄下輸入以下指令:service install ftpd.bat res/conf/ftpd-typical.xml
d: cd D:\apache-ftpserver-1.0.5\bin ftpd.bat res/conf/ftpd-typical.xml
以上是如何在windows系統下搭建FTP服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!