1. 程式人生 > >版本控制之svn啟動服務

版本控制之svn啟動服務

***啟動伺服器端程式***

①SVN伺服器必須處於執行狀態才能響應客戶端請求,幫助我們管理專案檔案。所以我們必須將SVN伺服器啟動起來。啟動SVN 伺服器有兩種方法,一個是命令列方式,一個是註冊Windows服務。
②命令列方式
[1]命令格式
主命令 引數1 引數2 引數3
svnserve -d表示後臺執行 -r表示版本庫根目錄 D:\DevRepository\Subversion
舉例 svnserve -d -r D:\DevRepository\Subversion
[2]驗證服務是否啟動
SVN服務監聽3690埠,開啟一個新的cmd視窗,使用netstat -an 命令檢視3690埠是否被監聽
這裡寫圖片描述


[3]命令列方式的缺陷是:只要執行伺服器端程式的命令列視窗一關閉,服務就停止了,很不方便,而且每次開機都需要手動啟動。

③註冊Windows服務
[1]將SVN服務端程式註冊為Windows服務,就可以讓SVN服務隨系統一起啟動,克服了命令列方式的不足。
[2]註冊Windows服務需要利用XP、2000以上系統自帶工具Service Control,執行檔案是sc.exe,注意這個命令不是SVN的命令。
[3]命令格式
主命令 子命令 引數1 引數2 引數3 引數4
sc create 服務名 binpath= “執行服務所需要的二進位制檔案路徑以及執行該二進位制檔案的命令列引數” start= auto
表示自動啟動 depend= Tcpip
表示依賴Tcpip協議
[注意:在這個命令中,等號左邊都沒有空格,右邊都有一個空格!]
[4]binpath組成結構說明
svnserve.exe路徑 svnserve命令引數1 svnserve命令引數2 svnserve命令引數3
SVN安裝目錄\bin\svnserve.exe –service
表示以服務方式啟動Subversion -r
表示版本庫根目錄 版本庫目錄
[5]關於“版本庫目錄”
單倉庫 指定與具體專案對應的倉庫目錄 例如:D:\DevRepository\Subversion\CRM 只能為一個專案服務
多倉庫 指定版本庫的根目錄 例如:D:\DevRepository\Subversion 可以為多個專案服務
[6]最終命令舉例
sc create MySVNService binpath= “D:\DevInstall\Subversion\bin\svnserve.exe –service -r D:\DevRepository\Subversion” start= auto depend= Tcpip
●在Win7及以上系統中,執行該命令需要管理員許可權,否則會得到如下錯誤提示

●解決的辦法是以管理員身份執行cmd命令列視窗即可

●在防火牆或電腦衛士提示阻止時,選擇允許

●此時檢視當前系統中的服務,可以看到我們剛剛建立的服務,但此時它還沒有啟動,如果建立失敗,需檢查sc命令是否正確

●啟動此服務
啟動服務的命令格式如下:
格式 sc start 服務名
舉例 sc start MySVNService

●開啟命令列視窗執行netstat –an檢視3690埠是否被監聽
●如果啟動失敗,那很有可能是binpath中的內容有錯誤,此時只能將已經建立的服務刪除,重新建立。
●刪除服務之前,最好先停止服務。停止服務的命令格式如下:
格式 sc stop 服務名
舉例 sc stop MySVNService
●刪除服務的命令格式如下:
格式 sc delete 服務名
舉例 sc delete MySVNService
●刪除、啟動、停止服務同樣需要管理員許可權