nginx 作為 gitweb 的伺服器

2021-08-26 22:40:51 字數 1919 閱讀 5696

[color=#345286] 最近在研習 git,並使用 gitolite 來架設 git 服務。同時又想在瀏覽器中能夠以唯讀的方式檢視有哪些版本庫。於是就想到用 gitweb,可是 gitweb 是用 cgi 指令碼寫的,相對於 apache,我更熟悉並喜歡用 ngingx。[/color]

[color=#345286] 在 [url=讓 nginx 支援 cgi[/url] 這篇文章中,我已詳細描述了怎樣讓 nginx 支援 cgi,下面將直接進入主題。[/color]

[color=#345286] git 我們安裝在 /usr/local/git 下,而且我們是通過原始碼來安裝 git 的。因此,gitweb 也因此已經安裝好了。基於 git 的安裝位置,那麼 gitweb 安裝在 /usr/local/git/share/gitweb 下。我們來看下此目錄下有些什麼:[/color]

[code="command"]

# ll /usr/local/git/share/gitweb

-rwxrwxr-x 1 root root 242750 jun 4 17:06 gitweb.cgi

drwxrwxr-x 2 root root 4096 jun 4 17:06 static

[/code]

[color=#345286] 很簡單吧。其下就有乙個 gitweb.cgi 指令碼,static 資料夾是用於為 html 頁面提供靜態資源。[/color]

[color=#345286] gitolite 的倉庫位於 /home/git/repositories 下,我們將 gitweb.cgi 主程式以及靜態資源的 static 目錄軟連線到 gitolite 的倉庫目錄下。實際上,根本不需要做軟鏈結操作,只需要修改 nginx 配置檔案的 root 到 gitweb 的安裝目錄下即可。意思是說,cgi 程式不必放在 gitolite 的倉庫下。當然,作為演示,我們還是來軟鏈結一下:[/color]

[code="command"]

[roog@localhost ~]# cd /home/git/repositories

# ln -s /usr/local/git/share/gitweb/gitweb.cgi

# ln -s /usr/local/git/share/gitweb/static

[/code]

[color=#345286] 下面可以寫配置檔案了。我並不想使用 http://localhost 來訪問 gitweb,我更傾向於使用 http://localhost/gitweb,因此需要使用到 alias 指令。我們在 location 配置節中配置 /gitweb,使其呼叫 gitweb.cgi 指令碼。同時,靜態資源處於 /gitweb/statc/*.css 等中,這些資源雖然匹配 location /gitweb,但不需要通過 cgi 來處理,因此使用了 rewrite。配置如下:[/color]

server

}

[color=#345286] 實際上,你也可以配置使用 http://localhost 來訪問 gitweb,這個時候,就不需要寫 rewrite 了。[/color]

[color=#345286] 現在的確可以訪問 gitweb 了,但是請注意,gitweb.cgi 並不知道倉庫在**,你可別以為就在 gitolite 倉庫下,即 /home/git/repositories。gitweb.cgi 指令碼中有這樣一句話: /etc/gitweb.conf,很顯然,它會讀取 /etc/gitweb.conf 檔案來獲取配置資訊。因此,我們需要在 /etc 下新建乙個檔案 gitweb.conf。[/color]

# gitweb.conf in /etc

# 設定版本庫的根目錄

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

gitweb的安裝(四)

在前面的幾篇文章,我們已經介紹了git伺服器的搭建 接下來我們來介紹gitweb管理工具 首先確保安裝好了apache伺服器,並且配置好了apache支援cgi 配置apache支援cgi參見 安裝gitweb sudo apt get install gitweb在 var www目錄下建立乙個g...

linux centos 下安裝nginx伺服器

linux centos 下安裝nginx伺服器 一,安裝編譯工具 root localhost home yum y install gcc gcc c 二,安裝zlib 解壓檔案 tar xvzf zlib 1.2.8.tar.gz 進入解壓目錄執行以下命令 root身份 configure m...

Nginx 作為web server 的優化要點

常用優化要點 優化配置的效果需要實踐檢驗,建議部署乙個監控工具,監控的內容應包括 nginx 開源版提供的監控指標,僅有如下6個 connections,accepts,handled,requests,writing,waiting 從作業系統的角度 應包括nginx程序的cpu使用率,記憶體占用...