链接mercurial回购networking服务器

我有以下情况:

在同一台机器上,我有一个mercurial服务器和一个web服务器。 项目位于/ var / hg / repos / myproyect,Web服务器的公共文件位于/ usr / share / nginx / www

有什么方法可以将(ln)repo目录链接到公共path服务器? 当我做

ln /var/hg/repos/myproject/.hg/store/data/ /ush/share/nginx/www/myproject 

而我把浏览器放在http://iptoserver.com/myproject中什么也没有显示

我注意到以.i扩展名结尾的.hg存储数据

你应该几乎可以肯定地设置hgweb服务的存储库,而不是倾销的原始文件。

发布资源库和HGWeb分步维基文章深入介绍了这一点,但是这里有一些亮点:

  1. 创build一个hgweb.conf文件(通常位于/usr/local/etc/或者某个虚拟主机,依赖于多租户环境)。

     [paths] myproject = /var/hg/repos/myproject [web] allow_archive = gz contact = Some Name <[email protected]> 
  2. 将hgweb.cgi文件从安装目录复制到您的cgi-bin目录。 更可能的是: cp /usr/share/mercurial/www/hgweb.cgi /var/www/cgi-bin/ (无论如何你都会明白)。

  3. 编辑hgweb.cgi文件,从#1设置configuration文件的位置。
  4. 为fcgiconfigurationnginx:

     location /hg/ { fastcgi_pass 127.0.0.1:9000; include fastcgi_hg; fastcgi_intercept_errors off; limit_except GET HEAD { auth_basic 'Example'; auth_basic_user_file /srv/hg.htpasswd; } } 
  5. configurationhg的fcgi include( fastcgi_hg ):

     include fastcgi_params; fastcgi_split_path_info ^(/hg)(.*)$; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param AUTH_USER $remote_user; fastcgi_param REMOTE_USER $remote_user; 
  6. 重新启动nginx和Bob的你的叔叔!