1. 程式人生 > >windows平臺下建立HTTP站點及FTP伺服器站點

windows平臺下建立HTTP站點及FTP伺服器站點

基於win平臺下搭建一個ftp,或http伺服器站點,可以方便的實現檔案共享。

比如FTP站點:

基於視窗的訪問:ftp://192.168.1.202/

 

基於web的訪問:

 

HTTP站點訪問:

 

 

下面介紹兩種伺服器搭建的方法。 

搭建FTP伺服器步驟(以win7為例)

  1. 為windows開啟ftp功能:控制面板-->程式和功能-->開啟或關閉Windows功能將如圖的選框選中

  

 

問題就在這裡,開啟或關閉windows功能一片空白,想盡辦法都不行,所以嘗試了後面的基於命令列直接開啟並建立ftp,http站點。

解決辦法可以參考:解決開啟或關閉Windows功能空白問題可以通過以下幾個步驟來解決,每完成一步後開啟Windows功能檢視是否解決。

2、新增FTP站點:開啟控制面板-->管理工具-->雙擊Internet資訊服務(IIS)管理器如下圖新增FTP站點

3、設定站點名稱和想要公開的路徑

4、繫結IP地址和ssl設定:

IP地址填本機地址,埠預設21,ssl是一種數字加密證書,可申請,在此沒有可選擇無。

 5、設定許可權,建議設定成讀取狀態,點選完成就大功告成了。

6、如何登陸測試

1>從網頁登陸:輸入命令ftp://本地IP如下圖

登陸成功會出現如下介面,輸入使用者名稱和密碼即可登陸

注:使用者名稱和密碼可右擊計算機-->管理-->本地使用者和組-->使用者-->administrator-->右擊修改密碼設定即可如下圖

使用者和密碼輸入正確的話就會出現你公開的路徑

 

cmd命令列開啟IIS資訊服務,配置http及ftp服務站點

開啟iis資訊服務

start /wait dism /online /enable-feature /featurename:IIS-WebServerRole

新增CGI

start /wait dism /online /enable-feature /featurename:IIS-CGI

開啟ftp

start /wait dism /online /enable-feature /featurename:IIS-FTPServer
start /wait dism /online /enable-feature /featurename:IIS-FTPSvc
start /wait dism /online /enable-feature /featurename:IIS-FTPExtensibility

iis新增成功之後,會建立一個預設的80網站,因為80埠被其他佔用,所以先刪掉這個預設的網站,用到appcmd.exe,網上有很多關於這個的介紹。

c:\Windows\System32\inetsrv\appcmd delete Site "Default Web Site"

新增8081埠,name可自定義,如已存在則新增失敗,id同理,如不輸入id,則預設從1開始增加,http/* 後面配置埠號,這裡是8081埠,/physicalPath:後面跟著物理路徑

c:\Windows\System32\inetsrv\appcmd add site /name:"8081" /id:4 /bindings:http/*:8081: /physicalPath:"D:\Picture"

開啟8081埠的目錄瀏覽,config後面跟網站名稱,就是上面配置的name,如不填則對全域性配置(哈哈不知道沒有效果,沒有嘗試)

c:\Windows\System32\inetsrv\appcmd set config "8081" /section:directoryBrowse /enabled:true

新增php-CGI模組程式
這裡可能會遇到 許可權問題,所以先執行 解鎖操作,如果不需要此模組,可以忽略,直接跳到下一步,配置埠。

c:\Windows\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers

新增模組,第一行語句只要 fullpath後面改成php-cgi.exe的絕對路徑就行了
第2行有幾個引數 
path填*.php 因為要對所有的php字尾的檔案生效,
verb是請求方式,get head post,
modules是FastCgiModule,預設安裝沒有這個模組的,所以在上面執行了servermanagercmd -i Web-CGI,這個模組被安裝上去,
scriptProcessor填php-cgi.exe的絕對路徑

c:\Windows\System32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='C:\wamp\bin\php\php5.5.12\php-cgi.exe']" /commit:apphost
c:\Windows\System32\inetsrv\appcmd.exe set config -section:system.webServer/handlers /+"[name='PHP-FastCGI',path='*.php',verb='GET,HEAD,POST',modules='FastCgiModule',scriptProcessor='C:\wamp\bin\php\php5.5.12\php-cgi.exe',resourceType='Either']"

iis預設不支援MP4的mime型別,如果需要的話執行下面的命令

c:\Windows\System32\inetsrv\appcmd.exe set config /section:staticContent /+[fileExtension='.mp4',mimeType='video/quicktime']

下面是配置ftp埠

配置21埠,引數同上面的http引數,但注意的是http和ftp共同name和id,所以name和id都不能於http相同

c:\Windows\System32\inetsrv\appcmd add site /name:"21" /id:5 /bindings:ftp://*:21 /physicalpath:"D:\Picture"

關閉ssl

c:\Windows\System32\inetsrv\appcmd set site "21" -ftpServer.security.ssl.controlChannelPolicy:SslAllow -ftpServer.security.ssl.dataChannelPolicy:SslAllow -ftpServer.security.authentication.basicAuthentication.enabled:true

**設定使用者的讀寫
users 為系統使用者名稱
permissions 為讀取和寫入的許可權**

c:\Windows\System32\inetsrv\appcmd set config "21" -section:system.ftpServer/security/authorization /+"[accessType='Allow',users='Gavin',permissions='Read, Write']" /commit:apphost

 

下面附上操作截圖

 

 

通過cmd命令進入ftp來下載或上傳

開始欄輸入cmd或者按快捷鍵win+R出現如圖介面

輸入"ftp"切換到到ftp下面.然後輸入"open 伺服器地址".點選回車鍵.會提示你輸入使用者名稱和密碼.登陸成功後.輸入"cd"命令.會顯示"遠端目錄",輸入"dir"命令會顯示目錄下的檔案,許可權等相關資訊.可以通過"cd 檔名"命令進入到要下載的檔案目錄下.然後輸入"ls"命令 顯示資料夾下的所有檔案.如圖

輸入"lcd 本地檔案目錄"(就是要下載到那個資料夾下 就輸入那個目錄,如果不輸入就是預設c盤的當前系統使用者目錄下)輸入"prompt"命令(開啟互動模式,如果是開啟的就不需要),最後輸入"mget 服務其上要下載的檔名",回車鍵.這樣就可以進行下載了.看到"Transfer complete"就表示下載成功了.到本地路徑下就能看到下載的檔案了.

 

 

參考文獻:

1.https://segmentfault.com/a/1190000011308061

2.https://www.cnblogs.com/zhangfengfly/p/6879513.html

3.https://blog.csdn.net/GUOGUOXYES/article/details/64505688