安装Go语言支持及Gogs版本管理工具

1. GO 语言:

1.1 介绍

1.1.1 官方介绍:

The Go programming language is an open source project to make programmers more productive.

Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.

1.1.2 简单说:

Go 是 Google 家的一门速度快,体验好的新语言。可以在不损失应用程序性能的情况下降低代码的复杂性。

由于专门针对多处理器系统应用程序的编程进行了优化,Go 程序在速度上可以媲美 C 或 C++,而且安全、支持并行。

1.2 安装

1.2.1 下载:

官网

官方下载

官方文档

由于我的服务器是 Ubuntu 的,所以我选择的是 go1.9.2.linux-amd64.tar.gz 这个包。

1.2.2 安装:

安装相当简单,直接下载到安装包后解压到 /usr/local/go 目录下就行了:

sudo tar -C /usr/local/ -zxvf go1.9.2.linux-amd64.tar.gz

文件到位后打开 /etc/profile 加点环境变量进去:

# /etc/profile

export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH

使配置生效:

source /etc/profile

接着直接在shell中打 go version 应该就可以看见输出的版本号了:

$ go version
go1.9.2 linux/amd64

到此,GO 语言的环境就安装好了。接下来是 Gogs.

2. Gogs

2.1 介绍

2.1.1 官方介绍

一款极易搭建的自助 Git 服务。

2.1.2 简单说:

Gogs 是个极轻的基于 Git 的版本控制工具,类似于Github, Gitlab.

但是相比他们要轻量很多,用块 Raspberry Pi 甚至 NAS 主机都能跑。

所谓的:易安装 + 跨平台 + 轻量级

项目所有的源代码均通过 MIT 授权协议 托管在 GitHub 上。免费使用!

到目前为止已经 2w 多 Stars 了,可见一斑。

2.2 安装:

2.2.1 下载:

直接官网下载:(国人产品,是中文的官网)

中文官方

官方下载

在线体验

2.2.2 安装:

将下载好的 linux_amd64-gogs.zip 文件解压。并放置到你想要放的地方,比如说 /www/gogs

然后根据你自己的需求,对它进行配置,默认配置文件 conf/app.ini 不要改它,在程序目录下创建新文件 custom/conf/app.ini 并修改相应的配置项就会自动覆盖掉默认的配置了。

付上 官方配置手册

程序本身提供了多种部署和启动的方式,这里我们选择最简单的:直接运行:

创建 run_gogs 脚本,写入以下内容:

nohup /www/gogs/gogs web &

然后运行 sh ./run_gogs 即可。

如果你需要也可以使用像 supervisor 去管理它:

官方参考配置

[program:gogs]
directory=/www/gogs/
command=/www/gogs/gogs web
autostart=true
autorestart=true
startsecs=10
stdout_logfile=/var/log/gogs/stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/var/log/gogs/stderr.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
user = git
environment = HOME="/home/git", USER="git"

安装Go语言支持及Gogs版本管理工具的更多相关文章

  1. Go学习笔记(一)安装Go语言环境

    Go Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入 ...

  2. Node.js的多版本管理工具 gnvm(win环境)的详细安装教程(图解步骤、通俗易懂、亲测有效)

    前言 本篇随笔主要写了如何安装并使用node多版本管理工具gnvm(windowns环境下) 作为自己对多版本工具gnvm知识的总结与笔记. 百度云盘gnvm应用程序包 获取链接(个人应用地址如下): ...

  3. VS2015提示:未安装Style的Visual Studio语言支持,代码编辑Intellisense将不可用。服务器控件的标记Intellisense可能不起作用

    一.问题 最近在VS2015打开文件,提示未安装Style的Visual Studio语言支持,代码编辑Intellisense将不可用.服务器控件的标记Intellisense可能不起作用. Int ...

  4. Mac OS安装Go语言及配置VSCode开发环境:一个工具(gopls)解千愁

    前言 截止到目前为止,Go语言已经更新到1.14.1,网上的很多教程均已经过时,我在此汇总并整理一下相关的教程,提供一个适合当下的Mac OS教程. 教程中使用了Go在1.11之后推出的依赖包管理工具 ...

  5. 版本管理工具Git(2)git的安装及使用

    下载安装git 官方下载地址:https://git-scm.com/download/win 这里以windows为例,选择正确的版本: 验证是否安装成功,右键菜单中会出现如下菜单: Git工作流程 ...

  6. Node版本管理工具-NVM的安装与使用(windows系统)

    友情提示:为避免踩坑,建议浏览全文后动手操作!!! 一.nvm是什么 看到这篇文章的猿/媛们肯定不会问这个问题了,但是我还是要说,哈哈哈! 无论工作还是干嘛,就不会一直做项目,所以肯定也不会一直用一个 ...

  7. Windows下完全卸载node.js并安装node.js的多版本管理工具nvm-windows

    前言 由于高版本的node.js导致gulp执行build命令失败,我需要在Windows下卸载掉已有的node.js并安装一个多版本管理工具nvm-windows,方便切换不同版本的node.js. ...

  8. 安装node版本管理工具之NVM

    nvm是个啥?nvm是一个可以让你在同一台机器上安装和切换不同版本node的工具. 你可能会问,为什么会有这个工具?有时候在开发的时候,对node版本有强制要求,有的要求用最新版本,有的要求用稳定版本 ...

  9. CentOS7安装桌面环境以及中文语言支持

    CentOS7 操作系统 http://public-yum.oracle.com/oracle-linux-isos.html ================================= 1 ...

随机推荐

  1. linux文件内容列传行_行转列

    ================ 文件内容列传行_行转列  ================ 一.列转行 1.编辑测试文件 vi log.txt 16:23:00 8.2% 1773620k 16:2 ...

  2. Java网络编程实践

    网络编程的目的 无线电台......传播交流信息,数据交换.通信 想要达到这个效果需要什么: 1. 如何准确的定位网络上的第一台主机 192.168.16.124:端口,定位到这个计算机上的某个资源. ...

  3. Java中List集合转Map集合报错:Duplicate key

    一.问题由来 最近生成环境刚发布了一个版本,本人负责优化的一个功能在进行测试时,报错了一个异常,duplicate key;去百度里面看了一下, 意思很明确就是建重复,而且错误是在Java代码中抛出来 ...

  4. 从Vehicle-ReId到AI换脸,应有尽有,解你所惑

    最近在做视频搜索的技术调研,已经初步有了一些成果输出,算法准确性还可以接受,基本达到了调研的预期.现将该技术调研过程中涉及到的内容总结一篇文章分享出来,内容比较多,初看起来可能关系不大,但是如果接触面 ...

  5. 【NX二次开发】Block UI 枚举

    属性: 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  6. java并发编程JUC第十一篇:如何在线程之间进行对等数据交换

    java.util.concurrent.Exchanger可以用来进行数据交换,或者被称为"数据交换器".两个线程可以使用Exchanger交换数据,下图用来说明Exchange ...

  7. Mysql优化(出自官方文档) - 第十篇(优化InnoDB表篇)

    Mysql优化(出自官方文档) - 第十篇(优化InnoDB表篇) 目录 Mysql优化(出自官方文档) - 第十篇(优化InnoDB表篇) 1 Optimizing Storage Layout f ...

  8. 10、mysql增量恢复实战

    10.1.实验数据: mysql> select * from test; +----+------+------+ | id | name | age | +----+------+----- ...

  9. c++11 线程间同步---利用std::condition_variable实现

    1.前言 很多时候,我们在写程序的时候,多多少少会遇到下面种需求 一个产品的大致部分流程,由工厂生产,然后放入仓库,最后由销售员提单卖出去这样. 在实际中,仓库的容量的有限的,也就是说,工厂不能一直生 ...

  10. Series 1 java秒组合数

    Series 1 举几个例子发现,  系数中间对称,很容易想到组合数 c(n,m)==c[n,n-m).此题就是高精度求组合数,java秒之. time:1825ms   ,接近时限,如果n还稍微大一 ...