CentOS 7 搭建 gogs Git 伺服器
阿新 • • 發佈:2019-05-01
CentOS 7 搭建 gogs Git 伺服器
本地環境如下:
Linux 系統環境為: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 當前最新版本為:0.11.86
所需軟體
- Gogs
- Git
- MySQL
安裝步驟
- 建立使用者名稱為 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
- 執行 gogs 資料庫檔案
// 切換到 /home/git/gogs/scripts 目錄 cd /home/git/gogs/scripts // 登入資料庫 (這裡採用 MySQL ) mysql -u root -p // 執行 gogs 資料庫指令碼檔案 source mysql.sql // 測試(執行完了之後可以看到已經建立好了gogs資料庫) 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 賬戶,然後複製到 /etc/init.d/ 目錄下
// 切換到 root 賬戶 su root // 將 gogs 檔案複製到 /etc/init.d 目錄下 sudo cp /home/git/gogs/scripts/init/centos/gogs /etc/init.d/
- 增加執行許可權
sudo chmod +x /etc/init.d/gogs
- 複製 service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
- 開啟 gogs 服務
service gogs start
- 執行 gogs web
// 切換到 gogs 目錄 cd /home/git/gogs // 執行 gogs web (如果此時 Ctrl + C 關閉掉命令,此時重新整理瀏覽器時,會無內容) // 執行命令後,看到有日誌輸出,則證明啟動成功! ./gogs web // 後臺執行 gogs ./gogs web >/dev/null 2>&1 &
-
必須開啟 3000 埠 (我使用的是阿里雲的 ECS ,直接在阿里雲後臺新增 3000 的安全組規則即可)
-
測試。( 瀏覽器訪問 http:// 遠端主機 IP 地址 :3000 )
-
配置反向代理
- 在 nginx 配置資料夾中,新建 git.drling.xin.conf 檔案
vim /etc/nginx/conf.d/git.drling.xin.conf
- 填入以下內容
server { listen 80; server_name git.drling.xin; location / { proxy_pass http://127.0.0.1:3000/; } }