最近公司網站的 負載叢集(NLB、Server Load Balancer) 越來越龐大,對於代碼版本發布來說,真是一個惡夢,公司所用伺服器是 Windows Server 2003,開發語言是 Asp.Net。嘗試過很多種代碼(檔案)同步的功能,最後發現還是使用 cwRsync 來實現代碼同步最好用。使用 cwRsync 來代碼同步後,只需要對一台主伺服器進行版本發布,其他負載的輔伺服器可以自動同步,包括檔案的更新、刪除、重新命名等,並且經過測試,效率、穩定性之類的還不錯。
關於 cwRsync 配置的,網上已經相當多的資源,對於如何配置,這裡也不累述了,下面直接貼出來我自己的配置代碼,便於協助更多的人,同時備忘:
伺服器端,rsyncd.conf 檔案 :
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
uid = 0
gid = 0
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
[www.test.com] #別名,可以自己取
path = /cygdrive/d/www.test.com
read only = false
transfer logging = yes
用戶端,批處理中(rsync.bat):
set CYGWIN=nontsec
rsync -vzrtopg --delete rsync://192.168.0.88:873/www.test.com /cygdrive/d/www.test.com
最後再把批處理的檔案建成計劃任務,時間間隔可以根據項目需求而定,同時 set CYGWIN=nontsec 這個參數十分重要,不然會引起檔案許可權問題,一定要加上, --delete 是是否刪除的選項,比如伺服器端刪除了一個檔案,用戶端如果也要刪除,就要加上這個參數,對於代碼同步,這個是必須的,但是對於檔案同步,這個不加比較好
相關文章:
Windows平台網站檔案同步備份解決方案——cwRsyn
Windows 2003下網路Server Load Balancer(負載平衡)的配置