NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
## 4.5 Git 守护进程 通过 Git 协议建立一个基于守护进程的仓库。注意,因为其不包含授权服务,任何通过该协议管理的内容将在其网络上公开。 **启动守护进程** Git 协议都是相对容易设定的,通常只需要以守护进程的形式运行该命令: ``` git daemon --reuseaddr --base-path=/opt/git/ /opt/git/ ``` `--reuseaddr`允许服务器在无需等待旧连接超时的情况下重启,`--base-path`选项允许用户在未完全指定路径的条件下克隆项目,结尾的路径将告诉 Git 守护进程从何处寻找仓库来导出。如果有防火墙正在运行,你需要开放端口 9418 的通信权限。 如何运行 Git 守护进程,主要取决于服务器的操作系统。 例如一台 ubuntu 的机器上,可以使用一份 Upstart 的脚本,找到下面这份文件: ``` /etc/event.d/local-git-daemon ``` 并添加 ``` start on startup stop on shutdown exec /usr/bin/git daemon \ --user=git --group=git \ --reuseaddr \ --base-path=/opt/git/ \ /opt/git/ respawn ``` **安全考虑** 使用一个对仓库拥有只读权限的用户身份来运行该守护进程。 重启机器时,Git 守护进程将会自动启动,并且如果进程被意外结束它会自动重新运行。 为了在不重启的情况下直接运行,可以运行以下命令: ``` initctl start local-git-daemon ``` **基于服务器的无授权访问** 在每个仓库下创建一个名为`git-daemon-export-ok`的文件来实现: ``` $ cd /path/to/project.git $ touch git-daemon-export-ok ```