1 使用yum安装Git

sudo yum install git

2 添加git用户

sudo useradd git

3 查看CentOS内核版本,确定架构(x64、x86还是arm)

uname -a

4 下载与其对应的二进制安装包

wget https://dl.gogs.io/0.11.34/linux_amd64.tar.gz

5 将安装包解压至git用户目录下(/home/git)并修改其权限和所有者

sudo tar -xf linux_amd64.tar.gz -C /home/git
sudo chmod -R 700 /home/git/gogs
sudo chown -R git:git /home/git/gogs

6 使用git用户运行gogs

sudo su - git -c "cd /home/git/gogs && ./gogs web &"

7 使用浏览器访问http://IP:3000,完成配置安装

按需求自行配置

8 添加启动项和守护进程

sudo ln -sf /home/git/gogs/scripts/systemd/gogs.service /usr/lib/systemd/sudo chmod u+x /home/git/gogs/scripts/systemd/gogs.service
sudo ln -sf /home/git/gogs/scripts/init/centos/gogs /etc/init.d/sudo chmod u+x /home/git/gogs/scripts/init/centos/gogs
sudo /sbin/chkconfig gogs on
sudo service gogs restart

参数配置

vi /home/git/gogs/custom/conf/app.ini

搭建gogs遇到的坑

1.无法连接ssh,显示connection refuse。

    原因是“custom/conf/app.ini”没有开启ssh功能,改为以下配置就行了

START_SSH_SERVER = true


2.配置了ssh后,gogs无法启动,错误信息是:Fail to start SSH server: listen tcp 0.0.0.0:22: bind: permission denied
       这个错误是用于服务器使用了端口22,所以要更改服务器gogs的端口号,

SSH_PORT         = 1111


3.使用ssh提示没有权限

     这是由于没有添加公共钥的原因,按下面方法添加即可

在本机生成公钥

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

拷贝公钥里面的内容   cat /home/user/.ssh/id_rsa.pub,在gogs的用户设置里面的“SSH 密钥”栏目就可以添加了。

git config --global user.name "Your Name"git config --global user.email "email@example.com"



4.gogs无法开机启动

按照常规的方式添加脚本到 “/etc/init.d/”下竟然没有开机启动。在网上发现其他方式可以实现,主要是修改"/etc/rc.local"文件,在最后一行添加以下内容

/bin/su - git -c "/usr/bin/nohup /home/soft/gogs/gogs web"


5.在使用gogs的时候遇到各种各样的奇怪问题不知道怎样入手

gogs是有日志系统,通过查看日志文件就能知道哪里出错了,日志的路径在/gogs/log/,动态查看日志使用下面的命令很方便

tail -F /gogs/log/serv.logtail -F /gogs/log/gogs.log


6.gogs默认使用本地配置,但是在vps上不知道怎样配置。

      使用vpn使服务器和本地处于同一网段,再利用: “http://0.0.0.0:3000” ,进行配置。


7.如何通过公网ip访问搭建在vps上的gogs

       只需要配置“custom/conf/app.ini”文件“ROOT_URL“

ROOT_URL         = http://vps的ip地址/


8.如何通过域名访问gogs网站

需要利用nginx反向代理就可以实现,简单来说是通过访问vps的网址会指向nginx,而nginx又将访问间接指向gogs。

通过配置nginx的配置文件可以实现“/usr/local/nginx/conf/nginx.conf”,修改如下:

location / {proxy_pass http://127.0.0.1:3000/;proxy_redirect default;}

 

9.centos上面没有安装nginx,通过命令也无法安装(解决不了依赖关系)

      最好的方法是通过yum install来安装nginx,但是安装不了只能自己编译nginx了。编译方式如下:

yum install gcc-c++yum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-develwget https://nginx.org/download/nginx-1.12.2.tar.gztar -zxvf https://nginx.org/download/nginx-1.12.2.tar.gzcd nginx-1.12.2./configuremakemake install

最后在"/etc/rc.local/"添加开机启动项

/usr/local/nginx/sbin/nginx


10.无法使用git clone,提示代码仓库不存在,可是在vps上面是看到这个仓库的

      反复修改配置文件,利用log跟踪问题所在,但是问题一直解决不了。最后通过删除gogs,重新解压一个就解决问题了。

11.error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
    fatal: the remote end hung up unexpectedly
    fatal: the remote end hung up unexpectedly

首先打开命令行全局配置git

结果无效!

之前用的一直好好的然后就成这样啦,回想一下git所在服务器原来是直接访问的后来改成nginx转发后访问啦,于是想可能是nginx配置有问题

于是网上查可能的原因,于是找到解决方法,打开nginx.conf中的http配置段中加入

重启nginx后问题消失


eclipse Git插件安装或更新

打开Eclipse,然后点击Help>Install New Software>Add

  • Name:EGit