我有以下情况:
在同一台机器上,我有一个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分步维基文章深入介绍了这一点,但是这里有一些亮点:
创build一个hgweb.conf文件(通常位于/usr/local/etc/或者某个虚拟主机,依赖于多租户环境)。
[paths] myproject = /var/hg/repos/myproject [web] allow_archive = gz contact = Some Name <[email protected]>
将hgweb.cgi文件从安装目录复制到您的cgi-bin目录。 更可能的是: cp /usr/share/mercurial/www/hgweb.cgi /var/www/cgi-bin/ (无论如何你都会明白)。
为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; } }
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;