自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Ubuntu安裝Go語言編寫的Git服務(wù)器Gogs

系統(tǒng) Linux 開源
Gogs 是由 Go 語言編寫的,自由開源的 Git 服務(wù)。Gogs 是一款無痛式自托管的 Git 服務(wù)器,能在盡可能小的硬件資源開銷上搭建并運(yùn)行您的私有 Git 服務(wù)器。Gogs 的網(wǎng)頁界面和 GitHub 十分相近,且提供 MySQL、PostgreSQL 和 SQLite 數(shù)據(jù)庫支持。

[[221024]]

Gogs 是由 Go 語言編寫的,自由開源的 Git 服務(wù)。Gogs 是一款無痛式自托管的 Git 服務(wù)器,能在盡可能小的硬件資源開銷上搭建并運(yùn)行您的私有 Git 服務(wù)器。Gogs 的網(wǎng)頁界面和 GitHub 十分相近,且提供 MySQL、PostgreSQL 和 SQLite 數(shù)據(jù)庫支持。

在本教程中,我們將使用 Gogs 在 Ununtu 16.04 上按步驟指導(dǎo)您安裝和配置您的私有 Git 服務(wù)器。這篇教程中涵蓋了如何在 Ubuntu 上安裝 Go 語言、PostgreSQL 和安裝并且配置 Nginx 網(wǎng)頁服務(wù)器作為 Go 應(yīng)用的反向代理的細(xì)節(jié)內(nèi)容。

 

搭建環(huán)境

  • Ubuntu 16.04
  • Root 權(quán)限

 

我們將會(huì)接觸到的事物

  1. 更新和升級系統(tǒng)
  2. 安裝和配置 PostgreSQL
  3. 安裝 Go 和 Git
  4. 安裝 Gogs
  5. 配置 Gogs
  6. 運(yùn)行 Gogs 服務(wù)器
  7. 安裝和配置 Nginx 反向代理
  8. 測試

 

步驟 1 - 更新和升級系統(tǒng)

繼續(xù)之前,更新 Ubuntu 所有的庫,升級所有包。

運(yùn)行下面的 apt 命令:

  1. sudo apt update
  2. sudo apt upgrade

 

步驟 2 - 安裝和配置 PostgreSQL

Gogs 提供 MySQL、PostgreSQL、SQLite 和 TiDB 數(shù)據(jù)庫系統(tǒng)支持。

此步驟中,我們將使用 PostgreSQL 作為 Gogs 程序的數(shù)據(jù)庫。

使用下面的 apt 命令安裝 PostgreSQL。

  1. sudo apt install -y postgresql postgresql-client libpq-dev

安裝完成之后,啟動(dòng) PostgreSQL 服務(wù)并設(shè)置為開機(jī)啟動(dòng)。

  1. systemctl start postgresql
  2. systemctl enable postgresql

此時(shí) PostgreSQL 數(shù)據(jù)庫在 Ubuntu 系統(tǒng)上完成安裝了。

之后,我們需要為 Gogs 創(chuàng)建數(shù)據(jù)庫和用戶。

使用 postgres 用戶登錄并運(yùn)行 psql 命令以訪問 PostgreSQL 操作界面。

  1. su - postgres
  2. psql

創(chuàng)建一個(gè)名為 git 的新用戶,給予此用戶 CREATEDB 權(quán)限。

  1. CREATE USER git CREATEDB;
  2. \password git

創(chuàng)建名為 gogs_production 的數(shù)據(jù)庫,設(shè)置 git 用戶作為其所有者。

  1. CREATE DATABASE gogs_production OWNER git;

創(chuàng)建 Gogs 數(shù)據(jù)庫

創(chuàng)建 Gogs 數(shù)據(jù)庫

用于 Gogs 的 gogs_production PostgreSQL 數(shù)據(jù)庫和 git 用戶已經(jīng)創(chuàng)建完畢。

 

步驟 3 - 安裝 Go 和 Git

使用下面的 apt 命令從庫中安裝 Git。

  1. sudo apt install git

此時(shí),為系統(tǒng)創(chuàng)建名為 git 的新用戶。

  1. sudo adduser --disabled-login --gecos 'Gogs' git

登錄 git 賬戶并且創(chuàng)建名為 local 的目錄。

  1. su - git
  2. mkdir -p /home/git/local

切換到 local 目錄,依照下方所展示的內(nèi)容,使用 wget 命令下載 Go(***版)。

  1. cd ~/local
  2. wget https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz

安裝 Go 和 Git

安裝 Go 和 Git

解壓并且刪除 go 的壓縮文件。

  1. tar -xf go1.9.2.linux-amd64.tar.gz
  2. rm -f go1.9.2.linux-amd64.tar.gz

Go 二進(jìn)制文件已經(jīng)被下載到 ~/local/go 目錄。此時(shí)我們需要設(shè)置環(huán)境變量 - 設(shè)置 GOROOTGOPATH 目錄到系統(tǒng)環(huán)境,這樣,我們就可以在 git 用戶下執(zhí)行 go 命令。

執(zhí)行下方的命令。

  1. cd ~/
  2. echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc
  3. echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
  4. echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc

之后通過運(yùn)行 source ~/.bashrc 重載 Bash,如下:

  1. source ~/.bashrc

確定您使用的 Bash 是默認(rèn)的 shell。

安裝 Go 編程語言

安裝 Go 編程語言

現(xiàn)在運(yùn)行 go 的版本查看命令。

  1. go version

之后確保您得到下圖所示的結(jié)果。

檢查 go 版本

檢查 go 版本

現(xiàn)在,Go 已經(jīng)安裝在系統(tǒng)的 git 用戶下了。

 

步驟 4 - 使用 Gogs 安裝 Git 服務(wù)

使用 git 用戶登錄并且使用 go 命令從 GitHub 下載 Gogs。

  1. su - git
  2. go get -u github.com/gogits/gogs

此命令將在 GOPATH/src 目錄下載 Gogs 的所有源代碼。

切換至 $GOPATH/src/github.com/gogits/gogs 目錄,并且使用下列命令搭建 Gogs。

  1. cd $GOPATH/src/github.com/gogits/gogs
  2. go build

確保您沒有遇到錯(cuò)誤。

現(xiàn)在使用下面的命令運(yùn)行 Gogs Go Git 服務(wù)器。

  1. ./gogs web

此命令將會(huì)默認(rèn)運(yùn)行 Gogs 在 3000 端口上。

安裝 Gogs Go Git 服務(wù)

安裝 Gogs Go Git 服務(wù)

打開網(wǎng)頁瀏覽器,鍵入您的 IP 地址和端口號,我的是 http://192.168.33.10:3000/

您應(yīng)該會(huì)得到與下方一致的反饋。

Gogs 網(wǎng)頁服務(wù)器

Gogs 網(wǎng)頁服務(wù)器

Gogs 已經(jīng)在您的 Ubuntu 系統(tǒng)上安裝完畢?,F(xiàn)在返回到您的終端,并且鍵入 Ctrl + C 中止服務(wù)。

 

步驟 5 - 配置 Gogs Go Git 服務(wù)器

本步驟中,我們將為 Gogs 創(chuàng)建慣例配置。

進(jìn)入 Gogs 安裝目錄并新建 custom/conf 目錄。

  1. cd $GOPATH/src/github.com/gogits/gogs
  2. mkdir -p custom/conf/

復(fù)制默認(rèn)的配置文件到 custom 目錄,并使用 vim 修改。

  1. cp conf/app.ini custom/conf/app.ini
  2. vim custom/conf/app.ini

[server] 小節(jié)中,修改 HOST_ADDR127.0.0.1。

  1. [server]
  2. PROTOCOL = http
  3. DOMAIN = localhost
  4. ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
  5. HTTP_ADDR = 127.0.0.1
  6. HTTP_PORT = 3000

[database] 選項(xiàng)中,按照您的數(shù)據(jù)庫信息修改。

  1. [database]
  2. DB_TYPE = postgres
  3. HOST = 127.0.0.1:5432
  4. NAME = gogs_production
  5. USER = git
  6. PASSWD = aqwe123@#

保存并退出。

運(yùn)行下面的命令驗(yàn)證配置項(xiàng)。

  1. ./gogs web

并且確保您得到如下的結(jié)果。

配置服務(wù)器

配置服務(wù)器

Gogs 現(xiàn)在已經(jīng)按照自定義配置下運(yùn)行在 localhost 的 3000 端口上了。

 

步驟 6 - 運(yùn)行 Gogs 服務(wù)器

這一步,我們將在 Ubuntu 系統(tǒng)上配置 Gogs 服務(wù)器。我們會(huì)在 /etc/systemd/system 目錄下創(chuàng)建一個(gè)新的服務(wù)器配置文件 gogs.service。

切換到 /etc/systemd/system 目錄,使用 vim 創(chuàng)建服務(wù)器配置文件 gogs.service。

  1. cd /etc/systemd/system
  2. vim gogs.service

粘貼下面的代碼到 Gogs 服務(wù)器配置文件中。

  1. [Unit]
  2. Description=Gogs
  3. After=syslog.target
  4. After=network.target
  5. After=mariadb.service mysqld.service postgresql.service memcached.service redis.service
  6.  
  7. [Service]
  8. # Modify these two values and uncomment them if you have
  9. # repos with lots of files and get an HTTP error 500 because
  10. # of that
  11. ###
  12. #LimitMEMLOCK=infinity
  13. #LimitNOFILE=65535
  14. Type=simple
  15. User=git
  16. Group=git
  17. WorkingDirectory=/home/git/go/src/github.com/gogits/gogs
  18. ExecStart=/home/git/go/src/github.com/gogits/gogs/gogs web
  19. Restart=always
  20. Environment=USER=git HOME=/home/git
  21.  
  22. [Install]
  23. WantedBy=multi-user.target

之后保存并且退出。

現(xiàn)在可以重載系統(tǒng)服務(wù)器。

  1. systemctl daemon-reload

使用下面的命令開啟 Gogs 服務(wù)器并設(shè)置為開機(jī)啟動(dòng)。

  1. systemctl start gogs
  2. systemctl enable gogs

運(yùn)行 Gogs 服務(wù)器

運(yùn)行 Gogs 服務(wù)器

Gogs 服務(wù)器現(xiàn)在已經(jīng)運(yùn)行在 Ubuntu 系統(tǒng)上了。

使用下面的命令檢測:

  1. netstat -plntu
  2. systemctl status gogs

您應(yīng)該會(huì)得到下圖所示的結(jié)果。

Gogs is listening on the network interface

Gogs is listening on the network interface

 

步驟 7 - 為 Gogs 安裝和配置 Nginx 反向代理

在本步中,我們將為 Gogs 安裝和配置 Nginx 反向代理。我們會(huì)在自己的庫中調(diào)用 Nginx 包。

使用下面的命令添加 Nginx 庫。

  1. sudo add-apt-repository -y ppa:nginx/stable

此時(shí)更新所有的庫并且使用下面的命令安裝 Nginx。

  1. sudo apt update
  2. sudo apt install nginx -y

之后,進(jìn)入 /etc/nginx/sites-available 目錄并且創(chuàng)建虛擬主機(jī)文件 gogs。

  1. cd /etc/nginx/sites-available
  2. vim gogs

粘貼下面的代碼到配置文件。

  1. server {
  2.     listen 80;
  3.     server_name git.hakase-labs.co;
  4.  
  5.     location / {
  6.         proxy_pass http://localhost:3000;
  7.     }
  8. }

保存退出。

注意: 請使用您的域名修改 server_name 項(xiàng)。

現(xiàn)在激活虛擬主機(jī)并且測試 nginx 配置。

  1. ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/
  2. nginx -t

確保沒有遇到錯(cuò)誤,重啟 Nginx 服務(wù)器。

  1. systemctl restart nginx

安裝和配置 Nginx 反向代理

安裝和配置 Nginx 反向代理

 

步驟 8 - 測試

打開您的網(wǎng)頁瀏覽器并且輸入您的 Gogs URL,我的是 http://git.hakase-labs.co

現(xiàn)在您將進(jìn)入安裝界面。在頁面的頂部,輸入您所有的 PostgreSQL 數(shù)據(jù)庫信息。

Gogs 安裝

Gogs 安裝

之后,滾動(dòng)到底部,點(diǎn)擊 “Admin account settings” 下拉選項(xiàng)。

輸入您的管理者用戶名和郵箱。

鍵入 gogs 安裝設(shè)置

鍵入 gogs 安裝設(shè)置

之后點(diǎn)擊 “Install Gogs” 按鈕。

然后您將會(huì)被重定向到下圖顯示的 Gogs 用戶面板。

Gogs 面板

Gogs 面板

下面是 Gogs 的 “Admin Dashboard(管理員面板)”。

瀏覽 Gogs 面板

瀏覽 Gogs 面板

現(xiàn)在,Gogs 已經(jīng)通過 PostgreSQL 數(shù)據(jù)庫和 Nginx 網(wǎng)頁服務(wù)器在您的 Ubuntu 16.04 上完成安裝。 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2021-02-05 05:29:51

服務(wù)器GitGogs

2020-11-03 10:37:01

樹莓派UbuntuLinux

2013-07-29 13:49:23

UbuntuLAMP服務(wù)器

2017-03-30 17:02:13

UbuntuDebianDHCP

2021-05-20 13:30:39

UbuntuGUI系統(tǒng)運(yùn)維

2017-03-17 14:05:48

LinuxUbuntuFTP服務(wù)器

2021-03-09 00:05:40

服務(wù)器GiteaGogs

2019-01-02 13:11:53

GO語言緩存

2022-08-24 08:33:27

Git系統(tǒng)Linux

2015-11-09 13:23:49

PXEUbuntu 14.0Linux

2010-01-04 13:26:51

Ubuntu安裝

2010-05-18 14:25:11

IIS服務(wù)器

2020-03-02 18:16:12

FedoraLinuxMongoDB

2011-01-21 09:54:44

LinuxSendmail

2017-01-05 13:34:42

LinuxUbuntu郵件服務(wù)器

2018-12-11 10:43:09

Go語言 HTTP服務(wù)器

2016-12-29 10:52:09

LinuxUbuntu郵件服務(wù)器

2017-01-09 08:59:17

Ubuntu郵件服務(wù)器

2011-08-29 14:20:00

Ubuntusamba

2009-12-30 10:09:08

Ubuntu Apac
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號