之前曾經在centos上部署了gitlab,但由於買的配置比較低,實際效果並不理想,常常卡機。並且,gitlab配置至關麻煩,須要依賴不少被牆包支持。最近在用golang搞開發,順道發現了gogs這款git管理系統,聽說通過長期迭代已經足夠穩定了,因此也想試一試效果,畢竟golang以效率著稱,想必對系統要求也會很低很低。下面介紹一下此次成功的配置經歷。html
nginxmysql
mysqllinux
gitnginx
gogs gogs v0.9.97 @ 2016-09-01git
gogs有兩種安裝方案,第一種是使用二進制安裝,這種最簡單,配置好git環境、運行二進制文件就能搞定;第二種是編譯源碼,搭建好環境,再安裝好golang語言開發環境和其餘須要用到的包,最後本身編譯。golang
其實二者區別不大,通常使用建議第一種方案便可搞定。第二種方案主要用於特殊系統環境、二次修改開發。web
兩種方案都須要這些步驟進行:sql
一、安裝git、nginx作反向代理解析域名、可選安裝mysql數據庫。數據庫
二、創建git帳戶。vim
三、下載gogs二進制文件,運行配置完成。
一、安裝git包,並建立git帳戶。下面以「git」用戶爲例。
# 安裝git sudo apt-get install -y git # 建立git帳戶 sudo adduser git
二、安裝nginx,安裝mysql,或不安裝任何數據庫。
PS:最新的「gogsv 0.9.97 @ 2016-09-01」版本支持mysql、psql、sqlite。
sudo apt-get install -y nginx sudo apt-get install -y mysql
三、在git帳戶的「/home/git」目錄下,建立gogs安裝目錄、git庫存儲目錄。
PS:由於gogs運行須要以git帳戶進行,因此同時須要gogs目錄和git庫目錄的權限,最好放到git的帳戶目錄下。
四、下載gogs的linux二進制安裝包,將其放入$HOME/git/gogs目錄下。
gogs v0.9.97 @ 2016-09-01下載地址:
https://dl.gogs.io/gogs_v0.9.97_linux_amd64.tar.gz
http://7d9nal.com2.z0.glb.qiniucdn.com/gogs_v0.9.97_linux_amd64.tar.gz
五、進入$HOME/git/gogs,運行gogs二進制文件。
# 進入gogs目錄 cd /home/git/gogs # 啓動gogs web服務 ./gogs web
PS:該方式是直接運行gogs,但關閉終端後就失效了。因此稍後還須要將運行腳本放入/etc/init.d目錄下,再使其實現自運行。
六、瀏覽器訪問「http://站點IP:3000」,根據要求填寫配置信息。完成後就能夠經過http://IP地址:3000訪問到gogs服務了。下面將gogs服務加入到開機自啓動,並解析到子域名上。
PS:若是發現端口衝突,能夠在「/home/git/gogs/custom/conf/app.ini」文件內修改端口配置。
七、完成後,將「/home/git/gogs/scripts/init/debian/gogs」文件放入「/etc/init.d」下,以後就可使用service gogs命令了。
# 複製腳本到init.d目錄 sudo cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d # 運行服務 service gogs start
八、設置開機自啓動。
# vim打開rc.local,添加開機運行腳本 sudo vim /etc/rc.local # nginx服務器 service nginx start # mysql服務 service mysql start # gogs服務 service gogs start
九、在nginx內配置反向代理,將子域名解析到localhost:3000上。
# nginx站點設定 server { server_name xx.localhost.com; listen 80; location / { proxy_pass http://localhost:3000/; } }
十、配置完成。
* git庫地址都是localhost?
配置完成後,能夠在gogs配置文件中將項目地址改成「域名:3000」,便可搞定。注意nginx反向代理設定要跟着改變。
gogs官方二進制安裝方法
https://gogs.io/docs/installation/install_from_binary.html
Ubuntu1404安裝gogs過程
http://www.cnblogs.com/ddr888/archive/2016/01/14/5131028.html
使用 Gogs 搭建本身的 Git 服務器
https://mynook.info/blog/post/host-your-own-git-server-using-gogs