CentOS环境下使用GIT基于Nginx的私服搭建全过程

简介: 阅读本文前你必须预先装好CentOS并且已经安装和配置好Nginx了。安装GIT私服套件安装centos6.5-centos7.0安装nginxyum install -y?git gitweb spawn-fcgi?fcgi-devel...

阅读本文前你必须预先装好CentOS并且已经安装和配置好Nginx了。


安装GIT私服套件


  • 安装centos6.5-centos7.0


  • 安装nginx


  • yum install -y?git gitweb spawn-fcgi?fcgi-devel?fcgi


以上步骤执行完毕后,我们安装了:
  • git服务


  • Gitweb,因为git是一个光板,只支持 git clone gituser@hostname:/repositories这样的协议,对于eclipse开发者来说键入一堆的git 命令将会是一个恶梦,因此我们必须有一个图形化的界面并且让git支持http协议来支持我们的“远程协作 ”


  • spawn-fcgi,这个东西特别有意思,因为nginx默认是不支持cgi的,而gitweb是用cgi写的,因此我们才安装fastcgi,而fastcgi又要通过spawn-fcgi来启动。。。因此。。。必须要装spawn-fcgi。




  • fcgi-devel 和 fcgi都属于fastcgi运行时的lib库了

安装fcgiwrap


从以下网址下载该组件:https://codeload.github.com/gnosek/fcgiwrap/legacy.tar.gz/master


运行以下命令:
cd fcgiwrap
autoreconf -i 
Configure
Make
make install


全部安装完后注意检查以下必要文件是否存在
  • /etc/init.d 目录下有一个spawn-fcgi程序
  • /usr/bin 目录下有一个spawn-fcgi程序
  • /var/www/git目录下是gitweb所有的文件(网页版git)
  • /etc/目录下有一个gitweb.conf文件
  • /etc/sysconfig/目录下有一个spawn-fcgi文件

开始配置GIT私服-修改/etc/gitweb.conf文件


$projectroot = "/home/git/repositories";

@git_base_url_list= ("git://192.168.0.101", "http://192.168.0.101:81");
$git_temp = "/tmp";
$home_text = "indextext.html";
@stylesheets = ("gitweb.css");
$javascript = "gitweb.js";
@diff_opts = ();
$feature{pathinfo}{default} = [1];
$feature{'highlight'}{'default'} = [1];


以上配置做了这么几件事:
  • 所有的git的子项目:如“hello.git”全部位于/home/git/repositories目录下
  • Git的常用两种协议对外暴露的URL:
  1. 一个使用的是git协议
  2. 一个使用的是http协议,并且它的端口号为81
  • @feature是gitweb的属性,它告诉gitweb可以如:代码高亮,路径信息等,gitweb中还有许多功能强大的@feature

开始配置GIT私服-修改/etc/sysconfig/spawn-fcgi文件


# You must set some working options before the "spawn-fcgi" service will work.
# If SOCKET points to a file, then this file is cleaned up by the init script.
#
# See spawn-fcgi(1) for all possible options.
#
# Example :
#SOCKET=/var/run/php-fcgi.sock
#OPTIONS="-u apache -g apache -s $SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"


以上是原来文件的内容

修改后的内容如下显示,注意 红色加粗部分:

# You must set some working options before the "spawn-fcgi" service will work.
# If SOCKET points to a file, then this file is cleaned up by the init script.
#
# See spawn-fcgi(1) for all possible options.
#
# Example :
#SOCKET=/var/run/php-fcgi.sock
#OPTIONS="-u apache -g apache -s $SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"

FCGI_SOCKET=/var/run/fcgiwrap.socket
FCGI_PROGRAM=/usr/local/sbin/fcgiwrap
FCGI_USER=nginx
FCGI_GROUP=nginx
FCGI_EXTRA_OPTIONS="-M 0700"
OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"

启动spawn-fcgi


chkconfig --levels 2345 spawn-fcgi on
/etc/init.d/spawn-fcgi start


把spawn-fcgi设为开机启动,并启动该服务,该服务成功启动后会在:

/var/run目录下生成一个fcgiwrap.socket文件。




配置GIT服务器-初始化GIT服务


useradd git
目录
相关文章
|
17天前
|
应用服务中间件 Linux 网络安全
CentOS 7.4源码编译nginx1.12 并且隐藏nginx的版本
CentOS 7.4源码编译nginx1.12 并且隐藏nginx的版本
15 0
|
2月前
|
关系型数据库 MySQL Linux
centos7.0环境下安装MySql_8.0.12
centos7.0环境下安装MySql_8.0.12
|
2月前
|
JavaScript Java 应用服务中间件
centos部署vue项目(java,tomcat环境的搭建)
centos部署vue项目(java,tomcat环境的搭建)
45 0
|
2月前
|
Linux 应用服务中间件 网络安全
CentOS7搭建本地离线局域网yum源(Httpd/Nginx+yum)
CentOS7搭建本地离线局域网yum源(Httpd/Nginx+yum)
326 0
|
1月前
|
存储 JavaScript Linux
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
|
2月前
|
关系型数据库 MySQL Linux
CentOS7环境下安装MySQL5.6
CentOS7环境下安装MySQL5.6
198 0
|
2月前
|
缓存 负载均衡 应用服务中间件
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
71 1
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
|
9天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
17天前
|
网络协议 应用服务中间件 Linux
centos7 Nginx Log日志统计分析 常用命令
centos7 Nginx Log日志统计分析 常用命令
33 2
|
17天前
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
13 0

热门文章

最新文章