之前说把主机换成了windows, 先接着之前说到的版本控制继续写吧. 说到版本控制, 最简单的无非是按照日期或者版本打压缩包或者分文件夹, 劣势的话, 使用过版本控制软件的童鞋应该闭着眼也能说出一堆了吧.

常见的版本控制有 Git(不是指协议哟)/ GitHub/ Subversion/ Mercurial/ Perforce/ Team Foundation Server/ CVS/ Visual SourceSafe/ Rational ClearCase等…

国内被大家熟知的PAAS服务提供商,SAE使用的是SVN作为代码上传和版本控制方式,而BAE是SVN+GIT,GIT相比SVN而言,更加灵活(分布式,分支)轻量(增量的元数据)。

所以我选择使用GIT作为服务器代码上传以及版本控制的工具。

首先在服务器上安装:msysgit ,安装之后,找到安装目录下的libexec目录,将里面的文件尽数copy到CopSSH(已安装好)的bin目录下(ICW\Bin) 我们使用本地机器SSH上VPS,然后:

#切换至D盘
cd /cygdrive/d/
#新建一个名为git的目录,并切换目录,以及初始化一个git裸仓库
mkdir test.git && cd test.git && git init --bare

我们假设用户名为git,那么当前提交的git地址为:

root@101.1.25.39:D:\test.git

后面的格式比较蛋疼,如果你觉得不美观,可以使用junction之类的软件,映射一下地址.

本地客户端可以考虑安装TortoiseGit, 以TortoiseGit为例, 安装TortoiseGit之后, 先将VPS中CopSSH的home目录下的git(假设用户名git)的OpenSSH keys搞到本地机器中, 然后打开TortoiseGit安装目录中的puttygen打开OpenSSH keys,另存为来生成ppk私钥。

然后GIT CLONE 一下,第一次使用,输入密钥的密码即可.

随便建立一个文件, 提交就好了。

但是仅仅是做git服务器的话,我们没必要用我们的自己的,网上有很多更好的服务,GitHub,Bitbucket,甚至是自己起一个gitlab, 所以我们要给这个家伙一个新的功能,就是版本控制下的更新我们的网站或者数据文件。

简单的来说就是简单模仿SAE或者BAE、HEROKU这些云平台的提交代码方式。

打开我们服务器上的D:\test.git\hooks文件,新建一个名为post-receive的文件,内容可以这样写。

#!/bin/bash
GIT_WORK_TREE=D:/website/htdocs git checkout -f

这样每次我们的提交都会提交到我们的前端目录中,网站也就实时更新了,还带有版本控制的功能,出点什么问题,还能回滚回来。

其中-f参数为强制更新,路径中的斜杠记得反过来写。如果你想了解更详细的内容,不妨看看这里

闲置一台VPS仅限于此不太好,我们或许偶尔还有别的需求,比如手机发个twitter? 那么继续配置吧, 之前有写过一篇类似的, 不过现在使用的server是2K8, 稍稍有些不同.

  1. 右键"计算机"->“管理"菜单, 选中"角色”,然后可以先删除角色,删除掉默认的"IIS",如果你使用其他的前端软件的话, 如果删除,请重启到系统提示配置不需要重启为止.如果不需要删除,请选择"添加角色".
  2. 在17项角色中勾选"网络策略和访问服务", 然后在下一步中勾选"路由和远程访问服务", 然后等待完成, 关闭整个"管理"窗口,重新打开一遍这个"管理窗口".
  3. 在之前的"角色"菜单下会发现多出一个选项"网络策略和访问服务",选择它的子菜单"路由和远程访问服务",右键"属性",选择"自定义配置",接下来的选项"5项全选".
  4. 在配置完毕之后,选择"路由和远程访问服务"的子菜单"IPv4",在它的子菜单中选择"NAT",右键之,在弹出菜单中选择"新建接口", 接口选择"本地接口"(本地连接1/2之类的适配器),再选择"公用接口"以及"在此接口上启用NAT".
  5. 在"IPv4"的子菜单中选择"NAT",继续右键之,这次新建接口选择"内部",然后选择"专用接口".
  6. 最后在"路由和远程访问服务"菜单处右键,选择"IPv4"选项卡,设置"静态地址池"(给一个内网IP范围,可以参考之前的文章).
  7. 在策略组选择要允许拨号的用户,设置属性为允许拨入.
  8. iphone直接连接就好. 下一篇我们来谈谈让这台服务器利用浏览器自动去做些什么事情,不过,大概要几周后了,这几周简直忙翻了…