網頁

Serv-U 8教學攻略--(8)Serv-U--虛擬主機,系統變數及URL參數

虛擬主機



  如果你仔細比較伺服器詳細資訊與網域詳細資訊,會發現在網域的地方多出一個虛擬主機的設定。虛擬主機是一個特別但常會用的組態設定。因為是網域獨有,所以我們最到最後一章來介紹。如之前所舉的例子:

  Bruce伺服器 --> file1, file2, file3網域

  Bruce伺服器提供了三個網域,而三個網域都在同一伺服器上。如果你有點網路或網站概念就知道,我們Server上每一個埠(port)只能同時間提供給一個服務(Service)使用,例如:port 80給IIS或Apache兩者之一使用。也就是說,今天,我們port 21要給Bruce伺服器使用,但這個port 21只給file1,file2,file3這三個網域其中一個使用。其他的只能使用非標準埠(非port 21),來Running FTP Service。

  而虛擬主機為多個網域提供了一種方式,使它們可以共用相同的IP和監聽器埠號。通常情況下,每個網域監聽器必須使用唯一的IP位址和埠號的組合。使用虛擬主機,無需使用非標準埠號,就可以在僅有唯一IP位址的系統上使用多個網域。通過正確地組態設定虛擬主機,多個網域可以共用相同的監聽器。該功能僅適用於當前許可證支援多網域的情形。

  虛擬主機名通常是用來連接域的全稱網域名稱,例如 "ftp.kkbruce.com"。

  使用者端連接所需虛擬主機的方式取決於連接Serv-U所用的協議。

FTP


  FTP 使用者可使用兩種方式之一來連接特定虛擬主機。如果 FTP 使用者端支持 HOST 命令,則可在登入前向 Serv-U 傳送該命令以標識虛擬主機。否則,可用以下格式提供虛擬主機及使用者名稱:虛擬_主機_名稱使用者名。首先輸入虛擬主機名稱,後接豎線字元 ('¦'),然後是使用者名稱。

  ftp.kkbruce.comkk ¦ bruce

SFTP


  希望連接到特定虛擬主機的 SFTP 用戶必須使用專門設計的使用者名稱格式,如同以上 FTP 部分中所述。

HTTP


  對於 HTTP 用戶,瀏覽器自動將訪問網站所用的主機名稱提供給 Serv-U,使得 Serv-U 可從輸入瀏覽器網址欄的全稱網域名稱中識別虛擬主機。

範例


  多個網域在同一個伺服器上進行組態,該伺服器有一個 IP 位址和兩個全稱網域名稱(FQDN)指向它。由於使用者必須使用埠 21 來連接到這兩個網域,請在每個網域上組態虛擬主機,以使 Serv-U 能區分對這兩個網域的請求。在每個網域上設定了相同的監聽器屬性後,請打開虛擬主機選項,按一下新增,然後輸入使用者端用於連接域的 FQDN(例如 ftp://ftp.kkbruce.com/)。

  使用 FTP 連接伺服器後,使用者能發送 HOST ftp://ftp.kkbruce.com/ 命令以連接檔案伺服器上相對應的網域。FTP 和 SFTP使用者也能通過其使用者名稱 ftp://ftp.kkbruce.com/使用者名稱,來標識虛擬主機。如果使用 HTTP,使用者能通過訪問 http://ftp.kkbruce.com/ 連接該網域。

  簡單的說,假設file1是對外,file2是公司內部,file3是廠商,它們全部都在同一台伺服器上,虛擬主機方便的設定,而且相當實用。可以讓管理者方便管理整個檔案伺服器。

系統變數



  在前文的迎歡消息中,我們示範了系統變數的使用方式,你可以建立在檔案中給大家共用,也可以在群組或使用者裡單獨設計。

  在系統變數裡,包含整個伺服器的資訊與網域的資訊,所以如果你是非金版的管理人員,你可以使用系統變數裡的相關資訊來取得目前Serv-U的整體狀態。以下包含了所有可用的變數和每個變數的簡短描述。如果沒有另外指定,統計資訊自上次啟動Serv-U檔案伺服器後開始計算。


伺服器資訊



  • $ServerName
    伺服器的完整名稱(如:Serv-U)
  • $ServerVersionShort
    Serv-U 檔案伺服器當前版本的前兩位元數字(如 8.0)
  • $ServerVersionLong
    Serv-U 檔案伺服器版本的完整數位(如 8.0.0.7)
  • $OS
    作業系統的名稱(如:Windows XP)
  • $OSVer
    作業系統的完整版本號(如:5.1.2600)

伺服器統計



  • $ServerDays - 伺服器連續上線的總天數
  • $ServerHours - 伺服器上線的小時數,從 0 到 24 迴圈
  • $ServerMins - 伺服器上線的分鐘數,從 0 到 60 迴圈
  • $ServerSecs - 伺服器上線的秒數,從 0 到 60 迴圈
  • $ServerKBup - 上傳的千位元組(KB)總數
  • $ServerKBdown - 下載的千位元組(KB)總數
  • $ServerFilesUp - 上傳的檔案總數
  • $ServerFilesDown - 下載的檔案總數
  • $ServerFilesTot - 傳輸的檔案總數,相當於 ($ServerFilesUp + $ServerFilesDown,上傳加下載)
  • $LoggedInAll - 已建立連線活動的總數
  • $ServerUploadAvgKBps - 平均上傳速度,單位 KB/s
  • $ServerDownloadAvgKBps - 平均下載速度,單位 KB/s
  • $ServerAvg - 平均資料傳輸速度(上傳和下載),單位 KB/s
  • $ServerUploadKBps - 當前上傳速率,單位 KB/s
  • $ServerDownloadKBps - 當前下載速率,單位 KB/s
  • $ServerKBps - 當前平均資料傳輸速率,單位 KB/s
  • $ServerSessions24HPlusOne - 過去 24 小時內的連線活動總數再加一個連線活動
  • $ServerSessions24H - 過去 24 小時內的連線活動總數

網域統計



  • $DomainKBup - 已上傳的千位元組(KB)總數
  • $DomainKBdown - 已下載的千位元組(KB)總數
  • $DomainFilesUp - 已上傳的檔案總數
  • $DomainFilesDown - 已下載的檔案總數
  • $DomainFilesTot - 已傳輸的檔案總數,相當於 ($DomainFilesUp + $DomainFilesDown,上傳加下載)
  • $DomainLoggedIn - 當前已連接的連線活動總數
  • $DomainUploadAvgKBps - 平均上傳速率,單位 KB/s
  • $DomainDownloadAvgKBps - 平均下載速率,單位 KB/s
  • $DomainAvg - 平均資料傳輸率總計(上傳和下載),單位 KB/s
  • $DomainUploadKBps - 當前上傳傳輸率,單位 KB/s
  • $DomainDownloadKBps - 當前下載傳輸率,單位 KB/s
  • $DomainKBps - 當前資料傳輸率總計,單位 KB/s
  • $DomainSessions24HPlusOne - 過去 24 小時內的連線活動總數再加一個連線活動
  • $DomainSessions24H - 過去 24 小時內的連線活動總數

使用者統計 - 應用於使用者帳號附帶的所有連線活動



  • $UserKBUp - 已上傳的千位元組(KB)總數
  • $UserKBDown - 已上傳的千位元組(KB)總數
  • $UserKBTot - 已傳輸的千位元組(KB)總數
  • $UserLoggedIn - 連線活動總數
  • $UserUploadAvgKBps - 平均上傳速度,單位 KB/s
  • $UserDownloadAvgKBps - 平均下載速度,單位 KB/s
  • $UserAvg - 平均資料傳輸率總計(上傳和下載),單位 KB/s
  • $UserUploadKBps - 當前上傳速度,單位 KB/s
  • $UserDownloadKBps - 當前下載速度,單位 KB/s
  • $UserKBps - 當前資料傳輸率總計,單位 KB/s
  • $UserSessions24HPlusOne - 過去 24 小時內的連線活動總數再加一個連線活動
  • $UserSessions24H - 過去 24 小時內的連線活動總數

上次傳輸統計 - 套用於最新完成的成功資料傳輸



  • $TransferBytesPerSecond - 有效的(已壓縮)傳輸速度,單位 bytes/s
  • $TransferKBPerSecond - 有效的(已壓縮)傳輸速度,單位 KB/s
  • $TransferBytes - 已傳輸的有效(已壓縮)位元組數,顯示格式,例如,32,164
  • $NoFormatTransferBytes - 已傳輸的有效(已壓縮)位元組數,未格式化,例如,32164
  • $TransferKB - 已傳輸的有效(已壓縮)千位元組數,顯示格式
  • $ActualTransferBytesPerSecond - 實際(未壓縮)傳輸速度,單位 bytes/s
  • $ActualTransferKBPerSecond - 實際(未壓縮)傳輸速度,單位 KB/s
  • $ActualTransferBytes - 已傳輸的實際(未壓縮)位元組數,顯示格式,例如,32,164
  • $NoFormatActualTransferBytes - 已傳輸的實際(未壓縮)位元組數,未格式化,例如,32164
  • $ActualTransferKB - 已傳輸的實際(未壓縮)千位元組數,顯示格式
  • $CompressionRatio - 傳輸壓縮比率表示為預期傳輸資料總量的百分比。例如,值 100.00 表示無法壓縮資料。值 200.00 表示該資料被壓縮為原來大小的一半。

日期/時間



  • $Date - 根據 Serv-U 檔案伺服器顯示的當前日期,使用系統本地日期格式
  • $Time - 根據 Serv-U 檔案伺服器顯示的當前時間,使用系統本地時間格式

伺服器設定



  • $MaxUsers - 允許登入的最大連線活動數,由許可證類型限制
  • $MaxAnonymous - 允許登入的匿名使用者最大數量

連線期間資訊 - 應用到當前連線期間



  • $Name - 使用者帳號的登入 ID
  • $IP - 使用者端的 IP 地址
  • $IPName - 通過反向 DNS 查詢 $IP ,取得的反向 DNS 名稱
  • $Dir - 連線活動的當前目錄
  • $Disk - 正被訪問的驅動器盤符
  • $DFree - $Disk 上的可用空間,單位 MB
  • $FUp - 上傳檔案總數
  • $FDown - 下載檔案總數
  • $FTot - 傳輸檔案總數,相當於 ($FUp + $FDown)
  • $BUp - 上傳千位元組(KB)總數
  • $Bdown - 下載千位元組(KB)總數
  • $BTot - 傳輸的千位元組(KB)總數
  • $TconM - 連線活動持續連接的分鐘總數
  • $TconS - 連線活動連接的秒數,從 0 到 60 迴圈到 $TconM
  • $RatioUp - 應用比率中 '上傳' 部分,如果不使用則為 "N/A"
  • $RatioDown - 應用比率中 '下載' 部分,如果不使用則為 "N/A"
  • $RatioType - 應用的比列類型,按每個連線活動或使用者
  • $RatioCreditType - 授予傳輸的信用量比率類型,按每個位元組或完成的檔案
  • $RatioCredit - 應用比率的當前傳輸信用量,按千百萬位元組或完成的案
  • $QuotaUsed - 顯示當前已使用的磁碟空間配額,單位 MB,如果不使用配額則為 "不限"
  • $QuotaLeft - 顯示還有多少可用的磁碟配額,單位 MB,如果不使用配額則為 "不限"
  • $QuotaMax - 顯示可以使用的最大磁碟空間數,單位 MB,如果不使用配額則為 "不限"
  • $Protocol - 當前使用的協定(FTP, FTPS, HTTP, HTTPS, 或 SFTP (SSH2))
  • $DomainName - 記錄連線活動的當前網域
  • $DomainDescription - 說明記錄連線活動的當前網域
  • $TimeRemaining - 阻止 IP 地址的時間的剩餘時間(僅在事件通知中可用)
  注意: 使用事件或登入消息內的 $IPName 變數會在檢索 $IP 的反向 DNS 資訊時造成輕微的延遲。


檔案資訊 - 應用於最後遠端存取的檔案,並不一定是最後傳輸的檔案



  • $PathName - 檢視完整的遠端路徑
  • $FileName - 僅從 $PathName 檢視檔案名
  • $FileSize - 檢視 $FileName 檔案的大小,單位位元組
  • $FileSizeFmt - 檔案大小的格式化版本,包括數千個分隔字元(逗號或句號,取決於電腦的區域設定)
  • $FileSizeKB - 以 KB 表示檔案大小的格式化浮點值
  • $LocalPathName - 檢視一個作業允許全稱的本地路徑名稱,因為它與 Windows 相關。例如用 "C:\Temp\File.fid" 替代 "/Temp/file.fid"
  • $LocalFileName - 檢視檔案名稱,因為該檔案存儲在本地電腦上。要瞭解詳細資訊請參見 $LocalPathName
  • $OldLocalPathName - 同 $LocalPathName 一樣,但包括重新命名前的路徑
  • $OldLocalFileName - 同 $LocalFileName 一樣,但包括重新命名前的檔案名稱
  • $OldPathName - 檢視重新命名前的遠端路徑名稱
  • $OldFileName - 檢視重新命名前的遠端檔案名稱

當前活動



  • $UNow - Serv-U 檔案伺服器上的當前連線活動數
  • $UAll - 從上次啟動後連接到 Serv-U 檔案伺服器上的連線活動總數
  • $U24h - 過去 24 小時內連接到 Serv-U 檔案伺服器上的連線活動總數
  • $UAnonAll - Serv-U 檔案伺服器上當前匿名使用者的連線活動數
  • $UAnonThisDomain - 連接的網域上當前匿名使用者的連線活動數
  • $UNonAnonAll - Serv-U 檔案伺服器上當前非匿名使用者的連線活動數
  • $UNonAnonThisDomain - 連接的網域上當前非匿名使用者的連線活動數
  • $UThisName - 連接使用者帳號的當前連線活動數
  每個系統變數的效果就留給你去測試了,但建議可以依不同的使用者給不同的訊息,或簡單來說,一般使用者是不太需要給迎歡消息,管理人員才需要看這些內容。如果在非金版Serv-U,你可以有空就做個登入動作,由系統變數去了解一下目前Serv-U整體狀態。


Web client RUL參數


  我們在第一章最後有給個考題,那時說好"下一篇”給答案,結果變成最後一章最後一段給答案,@.@差太多了。

  其實Serv-U的Web Client是可以帶參數的,也就是你可以使用參數來做一些預設動作,相關參考如下:


  • "thumbnail=1"參數,允許登入後進入縮圖模式。
  • "slideshow=1" 參數,允許登入後立即進入圖片slide show模式。
  • "playlist=1"參數,允許登入後立即播放多媒檔案。
  • "dir=" 參數,允許登入後立即切換到任何目錄。
  • "file=" 參數,允許登入後立即下載"dir="目錄下的任何檔案。
範例一:Web匿名直接登入
http://www.yourdomain.com?user=ftp
http://www.yourdomain.com?user=anonymous

範例二:Web 使用者直接登入
http://www.yourdomain.com?user=kkbruce&password=!qaz@wsx3

範例三:Web 使用者直接登入後,切換到縮圖模式,然後立即下載D:\temp裡的file.txt
http://www.yourdomain.com?user=temp&password=temppw&thumbnail=1& dir=/D:/temp/&file=file.txt

  Serv-U突破了單純的FTP Server,在早期裡FTP與Browser配合的並不好,常常可以聽到使用者用IE連接FTP Server要下載檔案時,出現莫名的問題而無法正常運作,而且現在你可以透過Serv-U提供的Web Client功能,讓這些使用者都不在出聲抱怨。

  我們無法要求一般外在使用者去使用FTP Client軟體,所以Serv-U所提供的Web Client可以說是完美的解決方案。透過純網頁的方式,解決了以往FTP Server碰到Browser就問題一堆,難以處理的困境。如果對你或公司而言,FTP是重要的一環,我會推薦Serv-U。

  Serv-U 8教學攻略,終!

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。