28.4 以runit方式配置运行

runit[1]是类似于sysvinit的服务管理进程,但是更为简单。在Debian/Ubuntu上的软件包git-daemon-run就是基于runit启动git-daemon服务。

安装git-daemon-run:


$sudo aptitude install git-daemon-run


配置git-daemon-run:

默认的服务配置文件:/etc/sv/git-daemon/run。和之前的inetd运行方式相比,以独立的服务进程启动,速度更快。


!/bin/sh

exec 2>&1

echo 'git-daemon starting.'

exec chpst-ugitdaemon\

"$(git—exec-path)"/git-daemon—verbose—export-all\

—base-path=/var/cache/var/cache/git


默认版本库中需要存在文件git-daemon-export-ok,git-daemon才对此版本库提供服务。不过可以通过启动git-daemon时提供的参数—export-all,无论版本库是否存在标识文件git-daemon-export-ok,都对版本库提供git访问服务。

git-daemon提供很多参数,在此没有一一介绍,可以运行git help daemon在控制台查看git-daemon帮助,或者运行git help—web daemon查看HTML格式的帮助。

通过git-daemon提供的Git访问协议存在着局限性:

不支持认证。管理员可以做的大概只是配置防火墙,限制某个网段用户的使用。

只能提供匿名的版本库读取服务。因为写操作没有授权控制,因此一般不用来提供写操作。

[1]http://smarden.org/runit/