文档章节

git + nginx + fcgiwrap + spawn-fcgi git的http服务器

Colben
 Colben
发布于 2016/11/20 15:41
字数 339
阅读 99
收藏 1

环境

  • Centos/Redhat 6
  • 安装好 git

安装 fcgiwrap

安装 spawn-fcgi

编辑 spawn-fcgi/sbin/fcgiwrap 开机启动脚本:

#! /bin/sh
DESC="fcgiwrap daemon"
DEAMON=/opt/spawn-fcgi/bin/spawn-fcgi
PIDFILE=/tmp/spawn-fcgi.pid
# fcgiwrap socket
FCGI_SOCKET=/tmp/fcgiwrap.socket
# fcgiwrap 可执行文件
FCGI_PROGRAM=/opt/fcgiwrap/sbin/fcgiwrap
# fcgiwrap 执行的用户和用户组
FCGI_USER=nobody
FCGI_GROUP=nobody
FCGI_EXTRA_OPTIONS="-M 0770"
OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P $PIDFILE -- $FCGI_PROGRAM"
do_start() {
 $DEAMON $OPTIONS || echo -n "$DESC already running"
}
do_stop() {
 kill -INT `cat $PIDFILE` || echo -n "$DESC not running"
}
case "$1" in
 start)
  echo -n "Starting $DESC: $NAME"
  do_start
  echo "."
  ;;
 stop)
  echo -n "Stopping $DESC: $NAME"
  do_stop
  echo "."
  ;;
 restart)
  echo -n "Restarting $DESC: $NAME"
  do_stop
  do_start
  echo "."
  ;;
 *)
  echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
  exit 3
  ;;
esac
exit 0

启动 fcgiwrap

chmod 0755 /opt/spawn-fcgi/sbin/fcgiwrap
/opt/spawn-fcgi/sbin/fcgiwrap start

安装 nginx

在 nginx 前端目录 html 下创建 git 仓库目录 nginx/html/git/

mkdir /opt/nginx/html/git/
chown nobody.nobody /opt/nginx/html/git/ -R

配置 nginx 的 git 服务

# 在 server section 中添加 git
location ~ /git(/.*) {
    gzip off;
    fastcgi_pass  unix:/tmp/fcgiwrap.socket;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /usr/libexec/git-core/git-http-backend;
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param GIT_PROJECT_ROOT /opt/nginx/html/git;
    fastcgi_param PATH_INFO $1;
    fastcgi_param REMOTE_USER $remote_user;
    client_max_body_size 500m;
}

重新加载配置文件

/opt/nginx/sbin/nginx -s reload

测试,在仓库目录下新建一个空repo

cd /opt/nginx/html/git/
git init --bare test-repo
chown nobody.nobody test-repo -R
cd test-repo
git config http.reveivepack true

完成

  • 在另一台服务器中可以顺利的进行 clone、push 及 pull 等操作。

© 著作权归作者所有

共有 人打赏支持
Colben

Colben

粉丝 12
博文 69
码字总数 24874
作品 0
丰台
系统管理员
私信 提问
centos 配置 nginx + fcgiwrap + git

1、编译安装fcgiwrap 2、配置fcgiwrap开机脚本 增加执行权限并开启 添加git的fastcgi配置 添加git server的nginx配置 注意 路径 附: 1、 Cannot access URL错误 仓库下: 安装编译时 安装...

dingdayu
2016/12/15
58
0
CentOS环境下使用GIT基于Nginx的私服搭建全过程

阅读本文前你必须预先装好CentOS并且已经安装和配置好Nginx了。 安装GIT私服套件 安装centos6.5-centos7.0 安装nginx yum install -y?git gitweb spawn-fcgi?fcgi-devel?fcgi 以上步骤执行完...

lifetragedy
2016/06/13
0
0
CentOS上搭建Git服务器

Git是一个分布式版本控制软件,原来是linux内核开发者Linus Torvalds为了更好地管理linux内核开发而创立的。发展至今,Git已经成为了一个相当好用的版本管理工具。相比于SVN,如果想要保存一...

Yomut
2016/08/15
64
0
安装git服务

安装git, gitweb, spawn-fcgi a) yum install -y git gitweb spawn-fcgi fcgi-devel fcgi b)编译安装 error) BEGIN failed--compilation aborted at Makefile.PL line 3. make[1]: *** [perl......

Kilar
2015/12/12
93
0
Nginx+CGI/FastCGI+C/Cpp

接着上篇《Nginx安装与使用》,本篇介绍CGI/FASTCGI的原理、及如何使用C/C++编写简单的CGI/FastCGI,最后将CGI/FASTCGI部署到nginx。内容大纲如下: 1. CGI 1.1. 环境变量 1.2. 标准输入 2....

悬崖
2016/03/08
38
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows / Linux / MacOS 设置代理上网的方法汇总

本文汇总了 Windows / Linux / MacOS 设置代理上网的各种方法,总结如下: 1、设置系统代理(Windows、Linux、MacOS) 2、设置代理插件(Chrome、Chromium、Firefox、Opera、QQ等浏览器) 3、...

sunboy2050
6分钟前
0
0
自定义 Maven 的 repositories

有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要 自定义Maven的<repositories>。 ...

waylau
今天
1
0
徒手写一个es6代码库

mkdir democd demonpm initnpm install -g babelnpm install -g babel-clinpm install --save-dev babel-preset-es2015-node5 在项目目录创建两个文件夹 functional-playground ......

lilugirl
今天
2
0
linux定位应用问题的一些常用命令,特别针对内存和线程分析的dump命令

1.jps找出进程号,找到对应的进程号后面才好继续操作 2.linux查看进程详细信息 ps -ef | grep 进程ID 3. dump内存信息 Jmap -dump:format=b,file=YYMMddhhmm.dump pid 4.top查看cpu占用信息 ...

noob_chr
今天
1
0
Android TV开发-按键焦点

写在前面 按键焦点过程了解 2.1 dispatchKeyEvent 过程了解 2.2 焦点查找请求过程了解 1.2.1 第一次获取焦点 1.2.3 按键焦点 焦点控制 焦点记忆 应用场景 参考资料 [TOC] 1. 写在前面 工...

冰雪情缘l
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部