Loading

Gogs-Windows Server下搭建Git服务器

全面的环境要求请看官网:https://gogs.io/docs/installation

我这里只列举我的环境:

windows server 2012_x64: 服务器

Git-2.19.1-64:git服务端

mysql-5.7.22(或者SQLserver):数据库

gogs_0.11.86_windows_amd64:git客户端

nssm-2.24:托管gogs永久运行

下载地址(也可自己去官网下,推荐官网的,因为版本可能新):

链接:https://pan.baidu.com/s/1LmVN_fBe1A9YlluNMJ6HpA 
提取码:cqqw 

下载完后,都解压出来。放在你觉得合适的目录里面。

首先安装数据库,我这里只介绍mysql和sqlserver(二选一,推荐mysql,因为官方对mysql支持好)。

mysql:

  • mysql自行安装好,不会的可参考我这篇博客的mysql安装部分:https://www.cnblogs.com/cluyun/p/9256537.html
  • 安装完了后执行gogs\scripts\mysql.sql里面的sql语句。如何执行也可以参考我上面的链接里面的sql执行部分
  • 都弄完了记得弄个账号设置密码,可以执行我下面的命令
alter user 'root'@'localhost' identified by '这是密码';
flush privileges;

sqlserver:

  • 先自行把数据库安装好
  • 然后建立一个sqlserver身份验证的账号留给gogs用
  • 执行如下语句就好了,或者根据你自己的需要建库,反正要给一个库给Gogs
IF EXISTS(Select 1 From Sysobjects Where Name='gogs')
DROP table gogs
GO 
CREATE DATABASE gogs

 

然后安装Git,git下一步下一步一直到完成就好了。不过安装完成了之后要在服务器里配置环境变量

参考以下两步

  1. 找到Git(安装目录)/usr/bin目录下的ssh-keygen.exe(如果找不到,可以在计算机全局搜索)
  2. win界面计算机-->鼠标右键 属性-->高级系统设置-->环境变量-->系统变量,找到Path变量,进行编辑,End到最后,输入分号,粘贴复制的ssh-keygen所在的目录,保存;

 

最后就是安装gogs了。

  1. 把nssm-2.24\win64目录下的nssm.exe复制到gogs\scripts\windows目录中去
  2. 如果你的gogs不是直接放在c盘根目录下的,那就要更改install-as-service.bat文件中的SET gogspath=后面的路径,改成你gogs(就是gogs.exe所在的)目录。
  3. 右键用管理员的方式运行CMD,然后切盘到install-as-service.bat的目录下,最后再输入install-as-service.bat运行。一般不会有错误,出错了自行检查(这一步是把gogs以win服务的方式在服务器永久运行)

     

  4. 打开服务器的浏览器进入http://127.0.0.1:3000(3000是默认的端口号 具体看你上一步怎么配置的)看到效果并完成配置安装,这个时候恭喜你搭建完成。
  5. 如果上面出错了,可以直接在gogs目录下按着shift键+鼠标右键,点击”在此处打开命令窗口”,接着输入命令:gogs web,有错误就能直接看到错误消息,然后解决。这样可以先进行非win服务的方法运行,不过这样子有弊端,就是把CMD关了gogs就没了,网页打不开了。

注意要点:

nssm可以反复折腾,不会挂掉。主要的命令如下:

nssm install servername 安装
nssm remove servername 移除
nssm start servername 开启
nssm stop servermame 停止
nssm restart servername 重启
nssm status servername 状态

 

gogs网页上是以UTF-8解释的,所以用其他编码可能会在网页上乱码。

gogs其实有很多灵活的东西,可以通过配置来达到要求,参考如下两个网址:

custom/conf/app.ini中的所有目录必须只能用/,不能用\。

修改完配置后可能要重启,可在nssm所在文件夹下执行 nssm restart gogs

想在外网访问请把端口开放,默认是3000。

内置的SSH服务器,默认端口是22,如果要外网也要记得开放。

建议在windows server上专门建立一个用户,给gogs中的ssh用。

如果你用的TortoiseGit,那么第一次用ssh你得用命令行clone ,不能用可视化界面操作(可能是bug,我也不知道)。

 

感谢以下链接给予我帮助:

https://blog.csdn.net/zy_281870667/article/details/50443403

https://blog.csdn.net/qq_26819733/article/details/77860125

https://blog.csdn.net/blogsun/article/details/54895589

https://discuss.gogs.io/t/win-ssh/2617

https://discuss.gogs.io/t/mssql/2619

 

posted @ 2019-05-06 23:39  碌云  阅读(1125)  评论(1编辑  收藏  举报