CentOS 7 搭建 gogs Git 服務(wù)器
本地環(huán)境如下:
Linux 系統(tǒng)環(huán)境為:CentOS Linux release 7.4.1708 (Core)
MySQL 版本為: mysql Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using EditLine wrapper
Git 版本為: git version 1.8.3.1
Gogs 當(dāng)前最新版本為:0.11.86
所需軟件
- Gogs
- Git
- MySQL
安裝步驟
- 創(chuàng)建用戶名為 git 的賬戶,用于管理 git
sudo adduser git
- 切換到 git 用戶,并在其賬戶所在家目錄,下載 Gogs
// 切換到 git 用戶
su git
// 切換到 git 用戶所在家目錄
cd ~
// 下載 gogs 壓縮包
wget https://dl.gogs.io/0.11.86/gogs_0.11.86_linux_amd64.tar.gz
// 解壓縮 (解壓縮之后的文件夾名為 gogs )
tar -zxvf gogs_0.11.86_linux_amd64.tar.gz
- 執(zhí)行 gogs 數(shù)據(jù)庫文件
// 切換到 /home/git/gogs/scripts 目錄
cd /home/git/gogs/scripts
// 登錄數(shù)據(jù)庫 (這里采用 MySQL )
mysql -u root -p
// 執(zhí)行 gogs 數(shù)據(jù)庫腳本文件
source mysql.sql
// 測試(執(zhí)行完了之后可以看到已經(jīng)創(chuàng)建好了gogs數(shù)據(jù)庫)
show databases;
-
配置與運行
- 打開 gogs 文件
vim /home/git/gogs/scripts/init/centos/gogs- 核對文件信息
19 PATH=/sbin:/usr/sbin:/bin:/usr/bin 20 DESC="Gogs" 21 NAME=gogs 22 SERVICEVERBOSE=yes 23 PIDFILE=/var/run/$NAME.pid 24 SCRIPTNAME=/etc/init.d/$NAME 25 WORKINGDIR=/home/git/gogs # 倉庫地址,可以自行修改 26 DAEMON=$WORKINGDIR/$NAME 27 DAEMON_ARGS="web" 28 USER=git # 如果運行 gogs 不是名為 git 的賬戶,則需要修改。 # 如是用 root 賬戶運行 gogs,則這里修改成 root- 切換到 root 賬戶,然后復(fù)制到 /etc/init.d/ 目錄下
// 切換到 root 賬戶 su root // 將 gogs 文件復(fù)制到 /etc/init.d 目錄下 sudo cp /home/git/gogs/scripts/init/centos/gogs /etc/init.d/- 增加執(zhí)行權(quán)限
sudo chmod +x /etc/init.d/gogs- 復(fù)制 service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/- 開啟 gogs 服務(wù)
service gogs start- 運行 gogs web
// 切換到 gogs 目錄 cd /home/git/gogs // 運行 gogs web (如果此時 Ctrl + C 關(guān)閉掉命令,此時刷新瀏覽器時,會無內(nèi)容) // 執(zhí)行命令后,看到有日志輸出,則證明啟動成功! ./gogs web // 后臺運行 gogs ./gogs web >/dev/null 2>&1 &必須開啟 3000 端口 (我使用的是阿里云的 ECS ,直接在阿里云后臺添加 3000 的安全組規(guī)則即可)
測試。( 瀏覽器訪問 http:// 遠(yuǎn)程主機(jī) IP 地址 :3000 )
-
配置反向代理
- 在 nginx 配置文件夾中,新建 git.drling.xin.conf 文件
vim /etc/nginx/conf.d/git.drling.xin.conf- 填入以下內(nèi)容
server { listen 80; server_name git.drling.xin; location / { proxy_pass http://127.0.0.1:3000/; } }