使用該鏈接,您可以配置儘可能多的位置,因爲您將擁有回購站。在每一個回購目錄,你需要運行汞柱服務:
cd repos/repo1;
nohup hg serve -p 8000 &
cd repos/repo2;
nohup hg serve -p 8001 &
然後你可以通過nginx的只是代理的所有請求發送到正在運行的服務器汞。這不是很好的方法。此方法需要手動編輯nginx配置,運行hg serve等。但是,此方法允許您爲每個repo創建單獨的auth設置。所以如果你打算與顧客分享回購,你可以輕鬆地管理這個。
取而代之,您可以使用特殊腳本,該腳本由mercurial-hgwebdir提供。 詳細信息時,您可以在此頁:https://www.mercurial-scm.org/wiki/PublishingRepositories#Publishing_Multiple_Repositories
更新:我對服務器善變1.6版,並runnung回購的網絡用戶界面,我們使用這個腳本hgwebdir.py:
#!/usr/bin/env python
import sys
import os
os.environ["HGENCODING"] = "UTF-8"
from mercurial.hgweb.hgwebdir_mod import hgwebdir
from mercurial.hgweb.request import wsgiapplication
from flup.server.fcgi import WSGIServer
def make_web_app():
return hgwebdir('/home/hg/hgwebdir.conf')
WSGIServer(wsgiapplication(make_web_app),
umask=0000,
bindAddress='/home/hg/hg.sock').run()
hgwebdir.conf是看起來是這樣的:
[web]
allow_push = some_useronly
baseurl =
push_ssl = false
[collections]
/home/hg/repos = /home/hg/repos
運行命令:nohup hgwebdir.py &,你需要flup PYT漢模塊,所以:的easy_install flup
相關nginx.conf部分是:
server {
listen 80;
server_name hg.example.com;
gzip off;
include fastcgi_params;
location/{
client_max_body_size 30m;
auth_basic "Restricted Area";
auth_basic_user_file /home/hg/hg.password;
fastcgi_pass unix:/home/hg/hg.sock;
}
}
@扎達 - ZORG這看起來複雜得多。看到我將使用Nginx(而不是Apache),我需要使用類似FastCGI的東西來運行.cgi腳本?我不太確定如何使用Nginx進行設置。 – littlejim84 2010-09-07 23:57:39
它還在該鏈接頁面的頂部顯示:「請注意,從Mercurial 1.6版開始,hgwebdir.cgi腳本不再存在,其功能已合併到hgweb.cgi腳本中。如果要發佈多個請按照相應的說明,將hgweb.cgi替換爲hgwebdir.cgi。「 – littlejim84 2010-09-07 23:58:46