为了同步代码我们通常使用git来对代码进行管理。这里搭建的是国人开发的Gogs,为什么使用它?因为免费且轻量。
配置大致步骤:(注意mysql版本 >= 5.7)
- 新建用户
- 下载源码进行编译/下载预编译二进制文件
- 安装
- 调整配置
- 配置nginx反向代理
- 添加启动脚本及开机启动
新建用户:
Gogs默认以git用户运行,建立git用户
$ adduser git # 建立git用户
$ su git # 以git用户登录
$ mkdir ~/.ssh # 建立.ssh目录
下载并解压缩
下载编译好的二进制文件,需要从源码编译参考Go语言项目编译相关资料
cd ~
wget https://dl.gogs.io/0.11.4/linux_amd64.tar.gz
$tar -zxvf linux_amd64.tar.gz
$ls gogs
custom gogs log README.md scripts
data LICENSE public README_ZH.md templates
安装
首先建立数据库。Gogs目录的scripts/mysql.sql文件是数据库初始化文件。
执行mysql -u root -p < scripts/mysql.sql(需要输入密码)即可初始化数据库。
然后登录MySQL创建一个新用户gogs,并将数据库gogs 的所有权限都赋予该用户。
$ mysql -u root -p
Enter password:
mysql> create user 'gogs'@'localhost' identified by '123456';
mysql> grant all privileges on gogs.* to 'gogs'@'localhost' identified by '123456' with grant option;
mysql> flush privileges;
mysql> exit;
执行./gogs web运行Gogs,关闭防火墙,然后访问http://服务器IP:3000/ 安装,按照页面提示填写信息。
配置nginx反向代理
修改nginx的配置文件,添加如下内容:
server {
server_name #域名或IP;
listen 80; #或者443,如果使用HTTPS的话
#ssl on; #启用加密连接
#如果你使用HTTPS,还需填写ssl_certificate和ssl_certificate_key
location / { #如果你希望通过子路径访问,此处修改为子路径,注意以/开头和结束
proxy_pass http://127.0.0.1:3000/;
}
}
添加服务及开机启动
在Gogs目录的gogs/scripts/init路径找到对应发行版的启动脚本,添加开机启动
cp -R /home/git/gogs/scripts/init/centos/gogs /etc/init.d/gogs
chmod +x /etc/init.d/gogs
service gogs start && chkconfig gogs on
守护进程启动
nohup ./gogs web &
测试时发现一个问题,本地机器的SSHkey(生成方式自行百度)已经添加到了 后台》用户设置》SSH秘钥中,但是在通过ssh方式clone项目报出异常。百度,谷歌找了半天,对着各种方式敲,都没成功。。。。。。。解决办法~~~

end!!!