文档章节

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

Colben
 Colben
发布于 2016/11/20 15:41
字数 339
阅读 59
收藏 1
点赞 0
评论 0

环境

  • 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

粉丝 9
博文 63
码字总数 16312
作品 0
丰台
系统管理员
centos 配置 nginx + fcgiwrap + git

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

dingdayu ⋅ 2016/12/15 ⋅ 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

CentOS上搭建Git服务器

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

Yomut ⋅ 2016/08/15 ⋅ 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 ⋅ 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 ⋅ 0

zabbix使用指南

Zabbix使用指南 一.Zabbix介绍: Zabbix是一个基于WEB界面的分布式开源监控系统,主要由2部分构成,Zabbix server与Zabbix agent,同时也支持Zabbix proxy。底层采集程序使用C语言编写的Ser...

avlwx ⋅ 2014/05/06 ⋅ 0

centos6 配置 nginx + fcgiwrap + git

安装源 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm -Uvh epel-release*rpmyum install fcgi-devel spawn-fcgi -y 编译安装fcgiwrap git clone gi......

Corz ⋅ 2015/08/12 ⋅ 1

icinga-web 安装

Icinga-web 安装 前段时间研究了会icinga和icinga-web,他是nagios的二次开发,支持中文汉化,国内对icinga-web的研究文档貌似比较少,这里就分享给大家 一.环境需求: 相关库: yum install –y...

avlwx ⋅ 2014/05/09 ⋅ 0

Ubuntu中Nginx的安装与配置

1.Nginx介绍 Nginx是一个非常轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和 反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。 2.对PHP支持 目前各种w...

王小乖的王 ⋅ 2016/06/17 ⋅ 0

Nginx+FastCGI支持HTTPS部署过程详述

依赖的软件 nginx-1.13.5.tar.gz spawn-fcgi-1.6.4.tar.gz fcgi-2.4.0.tar.gz 编译安装 [root@OpenVPN-C ~]# tar xzvf nginx-1.13.5.tar.gz [root@OpenVPN-C ~]# cd nginx-1.13.5 [root@Ope......

Linux_woniu ⋅ 2017/09/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 12分钟前 ⋅ 0

设计模式 之 享元模式

设计模式 之 享元模式 定义 使用共享技术来有效地支持大量细粒度对象的复用 关键点:防止类多次创建,造成内存溢出; 使用享元模式来将内部状态与外部状态进行分离,在循环创建对象的环境下,...

GMarshal ⋅ 27分钟前 ⋅ 0

SpringBoot集成Druid的最简单的小示例

参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立maven工程 Pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM......

karma123 ⋅ 今天 ⋅ 0

Java虚拟机基本结构的简单记忆

Java堆:一般是放置实例化的对象的地方,堆分新生代和老年代空间,不断未被回收的对象越老,被放入老年代空间。分配最大堆空间:-Xmx 分配初始堆空间:-Xms,分配新生代空间:-Xmn,新生代的大小一...

算法之名 ⋅ 今天 ⋅ 0

OSChina 周日乱弹 —— 这么好的姑娘都不要了啊

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @TigaPile :分享曾惜的单曲《讲真的》 《讲真的》- 曾惜 手机党少年们想听歌,请使劲儿戳(这里) @首席搬砖工程师 :怎样约女孩子出来吃饭,...

小小编辑 ⋅ 今天 ⋅ 8

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部