CentOS上搭建git服务以及界面化管理_centos下gogs+nginx+mysql实现私有git服务

4 篇文章 0 订阅
3 篇文章 0 订阅


NS技术圈
扫二维码关注,获取更多技术分享

为了方便随时随地的开发,以及团队化合作开发,一个好的版本管理工具是非常重要的。比较常用的版本管理工具有svn和git这是很多公司的选择,关于如何搭建自己公司的svn以及实现代码部署请看我之前的博客《Linux/centos下搭建svn服务来管理版本》。SVN的使用中有大部分人吐槽,说没有Git好用等等,其实SVN有着强大的权限管理,对于大的项目团队来说还是挺不错的。
既然很多人是Git派的那我今天要给大家分享如何搭建git服务来进行版本管理吧,其实Git服务的搭建是非常非常简单的,大家可以再百度搜搜,而我今天主要要分享的是使用gogs进行界面化的Git操作。

Gogs是什么

相信看我的这篇博客的朋友一定使用过github,那么我们在github能干什么呢?创建仓库,加入别人的项目,创建组织,处理合并请求,写项目文档,提交issue,管理项目开发团队,使用webhook部署代码等。但是在企业中因为代码的保密性和安全性即时github有私有仓库很多公司的非开源项目也不会选择github,而是希望在自己的服务器中搭建git服务。那么能不能在自己私有的环境中搭建一个github呢?答案是肯定的,而且选择也比较多。比较著名的有gitlab,gogs。gitlab比较早,也比较庞大。而今天我们要说的是使用go开发的gogs。

这里写图片描述

Gogs安装前准备

准备工作也是非常容易的,在这儿因为gogs是使用go来开发的,那么当然我们的git服务器上需要安装go环境,其实这个过程是非常非常简单的。

下载go安装包

国内下载的地址是:https://www.golangtc.com/download
根据自己的系统来跳转正确的版本,因为我是centos所以选择 go1.9.2.linux-amd64.tar.gz

这里写图片描述

或者直接使用此链接下载,如果你是ubuntu桌面版或其他的桌面版linux:
https://www.golangtc.com/static/go/1.9.2/go1.9.2.linux-amd64.tar.gz

解压压缩包

然后使用此命令解压go就行了。其中/home/git/local是我想把go防止的位置。你想放置在其他位置也是没有问题的。
tar -C /home/git/local -xzf go1.9.2.linux-amd64.tar.gz

将go路径加入到环境变量

这里写图片描述

当然这个对于对linux比较熟悉的人是很简单的。打开.bashrc把刚刚解压的go目录和bin加入到环境变量中。

这里写图片描述

运行go version 如果出现了版本信息就说明成功了可以进行下一步操作,否则检查错误的地方重新来。

Gogs下载安装及部署

使用go get来获取gogs包

因为gogs是go开发的程序包所以可以使用go get来从github获取。
这里写图片描述
使用 go get -u github.com/gogits/gogs
就可以将gogs下载到go目录下的src目录中。

构建gogs应用

这里写图片描述
这是go将go程序构建为可执行程序的过程。必须使用go build。在这儿大家要注意一点:必须将目录切换到gogs目录下

运行gogs

这里写图片描述
这儿操作也比较简单,使用./gogs web来运行gogs。只有出现下边绿色的部分表示运行成功了否则就是有错误。其中需要注意最后一行 Listen:http://0.0.0.0:3000这个表示该服务器的3000端口被监听。如果我们的服务器是一台线上服务器那么久需要找到线上服务器的公网ip地址。如果是本地的当然在浏览器输入127.0.0.1:3000就可以访问。如果是线上的就把0.0.0.0换成服务器公网ip地址访问。

可视化配置gogs

在浏览器使用以上说明的ip和端口访问后会出现一个web界面,我们重点说明下部分配置项。

数据库配置

因为gogs将操作中的数据写入数据库所以我们先得配置数据库,在此之前希望大家已经准备好mysql或其他数据库服务器,有给gogs用的数据库服务器地址,数据库,账号密码。

这里写图片描述

基本信息的配置

这里写图片描述
这里写图片描述

基本信息的配置也是比较明确的。在这儿大家要注意的是应用url。因为我们不可能一直拿ip来请求,不好记。那么如果你后期要使用域名,那么在这儿需要填写你自己的域名,当然如果填写了自己的域名后期要解析到该服务器的ip地址。

可选设置

这里写图片描述
邮件服务配置主要是gogs对于一些操作发送邮件时使用,163等邮箱都提供了SMTP服务,相关的地址和账号大家都可以查看相关邮箱的帮助文档

管理员账号设置

这里写图片描述
这儿需要注意了,你所添加的是系统管理员账号。一定要填写自己熟悉的或者容易记的账号密码。

自定义域名nginx反向代理

这里写图片描述
注意了还是要强调一定要将你的server_name解析到该服务器上

最终效果

访问 git.sikukeji.com(参考自己配置)
这里写图片描述

添加进程守护

因为gogs使用go来处理网络请求,所以要求gogs服务一直处于挂起状态。我们刚刚是在命令行中使用./gogs web来启动服务的,只要命令行关闭那么gogs服务也随之关闭,那么我们需要一个静默的进程守护。
这里写图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我知道你的问题了。针对你的问题,我可以给你一些简单的部署步骤: 1.安装nginx和PHP 在CentOS 6.8中安装nginx和PHP的方式如下: ``` sudo yum install nginx sudo yum install php-fpm ``` 2.配置nginx 在配置nginx之前,你需要备份一下默认的nginx配置文件。备份命令如下: ``` sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak ``` 然后,你可以通过编辑/etc/nginx/nginx.conf文件来配置nginx。 下面是一个简单的nginx配置示例,可以将它添加到/etc/nginx/nginx.conf文件中: ``` user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; include /etc/nginx/conf.d/*.conf; server { listen 80; server_name localhost; root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } } ``` 在这个示例配置中,我们将nginx的根目录设置为/usr/share/nginx/html,并且将index.php添加到默认文档列表中。同时,我们还配置了一个location块,用于处理PHP文件。 3.配置PHP 在配置PHP之前,你需要备份一下默认的php-fpm配置文件。备份命令如下: ``` sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.bak ``` 然后,你可以通过编辑/etc/php-fpm.d/www.conf文件来配置PHP。 下面是一个简单的PHP配置示例,可以将它添加到/etc/php-fpm.d/www.conf文件中: ``` [www] user = nginx group = nginx listen = /var/run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 ``` 在这个示例配置中,我们将PHP-FPM的用户和组设置为nginx,并将PHP-FPM的监听套接字设置为/var/run/php-fpm/php-fpm.sock。 4.重启服务 完成配置后,你需要重启nginx和php-fpm服务,以使配置生效。重启命令如下: ``` sudo systemctl restart nginx sudo systemctl restart php-fpm ``` 到这里,就完成了nginx+PHP的简单部署。同时,为了进一步提升性能,你可以使用Nginx+PHP+FastCGI加速模式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MarsWill

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值