重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

腾讯云服务器git搭建 腾讯云服务器建站教程

局域网内创建git服务器的简单方法

当资源有限,但是项目同时需要几个人协同开发,我们就需要配置一个简单的局域网内的git服务器,方便协同开发。

创新互联建站主营海沧网站建设的网络公司,主营网站建设方案,手机APP定制开发,海沧h5成都微信小程序搭建,海沧网站营销推广欢迎海沧等地区企业咨询

首先我们新建远端的git目录,目录名和本地仓库名一致,并且在目录下运行:

git init --bare

一个空的git仓库就建立好了。然后我们需要把本地的仓库和远端的关联起来。具体做法是,在本地git仓库的目录下执行:

git remote add origin ssh://用户名@ip/仓库路径

比如:git remote add origin ssh://android@192.168.31.72/home/android/projects/gitserver/demoproject/。完成后,本地的提交,就可以push到远端啦。比如:

git push origin master

就可以把本地的master推送到远端。协同开发的同事可以通过如下命令获取远端的仓库

git clone ssh://android@192.168.31.72/home/android/projects/gitserver/demoproject/

是不是很简单呢

ps:实际使用过程中发现了一个问题,即本机的ip地址不是静态的。如何解决这个问题呢?可以在每次ip改变以后,重置仓库的origin url:

git remote set-url origin {url}

Hexo博客部署到腾讯云服务器

因为使用github仓库存放Hexo博客速度太慢,所以自己买了腾讯云的服务器,现在开始把博客部署到腾讯云,由于域名还没有审核通过,暂时使用公网ip访问

本地环境: win7

服务器: 腾讯云

使用工具: Xshell, Xftp, git

使用Xshell工具(root用户)远程登录腾讯云

此时打开浏览器,输入公网IP+端口,进入nginx的欢迎页面

修改根目录root为/home/www/hexo;

修改域名server_name为你备案的域名 ,如果还没有就不改,有了再改;

找到 root ALL=(ALL) ALL,在下一行添加 git ALL=(ALL) ALL,然后保存

在.ssh目录下创建authorized_key这一步之后,打开本地存放公钥的文件id_rsa.pub(github生成ssh密钥问题不会的可以百度,教程很多这里不细讲),复制密钥到服务器上的authorized_keys文件中并保存,这样当你使用ssh远程连接服务器时就不用输入密码

接着在本地打开git bash用ssh方式远程连接服务器 ,登录成功界面如下图所示

打开hexo博客配置文件_config.yml 修改repo:git@你的服务器公网IP:/home/git/hexo.git

执行部署命令之前需要进入本地hexo博客安装目录中删除.deploy_git文件

打开Xftp工具进入/home/www/hexo,看到文件就表示通过git已经提交到服务器中去了

但此时需要重启nginx服务才能访问

走到这一步就算是大功告成,浏览器输入 进入hexo我的博客主页了

更新:买的域名备案成功了,欢迎大家访问 我的Hexo博客

搭建Git服务器及备份服务器

OS:CentOS 7.2

Git:1.8.3.1

备份模式:

以下步骤以双机备份为例,单机备份同理,只是在镜像git项目的时候把git url换成单机中的git项目目录即可。

首先,查看系统软件库中是否有git和git的版本:

CentOS 7.2环境下的输出如下:

CentOS 7.x版本的仓库中已经附带了1.8.3.1版本的git,可以直接安装。

CentOS 6.x中的git是1.7.x版本,自带库中git版本低的linux发行版可以添加git1.8.3.1的源来安装git,但这个操作要求本机能访问互联网

其他版本的git理论上也可以,请自行测试

结果最后显示“安装完成”或“Complete”表示安装成功。可以直接使用git命令测试一下:

输出如下表示git安装成功并可用。

创建一个git用户,用来提供给外部用户以git url的方式访问git库。

在用户目录或其他对外目录中创建 /git/repos 目录,用来存放git库。

注意: 尽量使用git用户来创建该目录,方便以后git操作该目录,如果是使用其他用户创建的,记得使用以下命令将该目录的owner改为git:

为了方便访问,可以在根目录下创建一个软链连接到该目录:

这样设置后,假如以后有一个库叫 test.git ,那么就可以通过以下url来访问git库了:

创建一个测试库用来测试备份及连通性。

同主GIT服务器的《安装git》章节。

同主GIT服务器的《创建git库目录》章节。

目录结构尽量与主git服务器上的结构一致,如果不一致,使用软链的形式将git url配置为与主git服务器一致,这样保证在切换服务器时,客户端不用做修改操作。

以上个步骤中创建的 test.git 为例:

这样,主git服务器中的 test.git 就镜像到备份机中了。

如果主服务器的git项目发生了变更,可以将变更同步到备份机。

将以上同步命令写成脚本,添加一个定时任务来定时同步即可。

(待补充)

备份同步时每次都需要输入主git服务器的密码,比较麻烦,也不利于定时同步的脚本操作,可以使用ssh免密登录的方式,在主服务器上配置备份服务器的公钥。

一路Enter(回车键),完成后会打印出密钥的生成位置,通常在用户主目录的 .ssh 目录中。默认情况下会生成以下两个文件:

一定要注意上述命令中的第三步,权限要设置对,否则认证不过去不能免密登录。

如果在实际运行中,主git服务器挂了一段时间,在这段时间里一直是备份git服务器在工作,那么在修复好主服务器后需要将这一段时间的变更同步回主服务器。

操作完成后备份库自上一次同步后的更改都推送到了主库。

基于腾讯云搭建自己的的Hexo博客

先搞明白Hexo博客从搭建到自动发布的架构,才能更好的理解我们每一步进行的操作。

不然只跟着步骤过了一遍,却不知道为什么这么做。

首先看这张架构图:

整个流程就是本地将 *.md 渲染成静态文件,然后Git推送到服务器的 repository ,服务器再通过 git-hooks 同步网站根目录。

前提条件: 腾讯云服务器

第一部分 : 服务器环境搭建,包括安装 Git 、 Nginx 配置 、创建 git 用户 。

第二部分 : 本地 Hexo 初始化, 包括安装 NodeJS 、 hexo-cli , 生成本地静态网站

第三部分 : 使用Git自动化部署发布博客

NodeJS 安装可以参考: Linux安装NodeJS

找到以下内容

在下面添加一行

保存退出后改回权限

随后设置Git用户的密码,

切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限

然后就可以执行ssh 命令测试是否可以免密登录

至此,Git用户添加完成

我是用的是lnmp 一键安装包,nginx安装教程一大堆,就不再叙述。主要看nginx配置。

找到nginx的配置文件,修改配置如下:

首先要安装 hexo-cli ,安装 hexo-cli 需要 root 权限,使用 sudo 运行

然后初始化Hexo程序

等执行成功以后安装两个插件, hexo-deployer-git 和 hexo-server ,这俩插件的作用分别是使用Git自动部署,和本地简单的服务器。

hexo-deployer-git帮助文档

hexo-server帮助文档

使用 hexo new 文章名称 来新建文章,该命令会成成一个 .md 文件放置在 sources/_posts 文件夹。

编辑完毕以后, 使用 hexo g 将 .md 文件渲染成静态文件,然后启动 hexo-server :

现在便可以打开浏览器访问 来查看我们的博客了!

创建一个裸仓库,裸仓库就是只保存 git 信息的 Repository , 首先切换到 git 用户确保 git 用户拥有仓库所有权

一定要加 --bare ,这样才是一个裸库。

在这里我们使用的是 post-receive 这个钩子,当git有收发的时候就会调用这个钩子。 在 ~/blog.git 裸库的 hooks 文件夹中,

新建 post-receive 文件。

保存后,要赋予这个文件可执行权限

然后打开 _config.yml , 找到 deploy

保存后,尝试将我们刚才写的"hello hexo"部署到服务器

访问服务器地址,就可以看到我们写的文章"Hello hexo",以后写文章只需要:

博客就更新咯!~

使用 Git Hook 自动部署 Hexo 到个人 VPS

Hexo 文档


新闻名称:腾讯云服务器git搭建 腾讯云服务器建站教程
链接分享:http://cqcxhl.cn/article/dddhssc.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP