4858mgm搭建静态网站

转载自[http://typeof.net/m/static-website-using-git-in-actions.html\]

在 Github Pages
火起来今后,很四人写博客都先导用全静态了。(什么?评论?disqus
啊!)那种静态站使用 git 管理网站内容,在本土(只怕在劳动器端使用
Jekyll)生成页面内容后,用 git 推送到服务器上落成安排。那种设计让我们死
Nerd
感觉很爽快,终究一切尽在左右。搭建一个那样的服务器并不困难,趁着近来开始42qu 的服务器,就在此处放个教程给和小编同样的神奇生物好了。

装 git 那些工作不复杂,作者的服务器使用 Centos 6.2,yum install git
就化解了。

接下去是设置 git 的权位管理体系 gitosis
使服务器协助推送。那些手续不在赘述,网上内容多得是。作者借使你放网站的
repo 位于 /home/git/repositories/site.git。

下一场是把 git 用户和网页服务器的用户(作者那里是
nginx)插足同1个组里。那对未来 git
和网站目录同步相当首要,否则会有拾贰分麻烦的权柄难点。

sudo groupadd web
    sudo usermod -a -G web git
    sudo usermod -a -G web nginx

首先大家必要树立一个索引来放置网站,接下去把它的专属组改成上面建立的 web
组并且设置组的写权限:

sudo mkdir /var/www/site
    sudo chmod g+w /var/www/site
    sudo chgrp web /var/www/site

随着找到你的网站对应的 repo(比如
/home/git/repositories/site.git),编辑里面的 hooks/post-receive 文件:

#!/bin/bash



while read oldrev newrev ref

do

    branch=`echo $ref | cut -d/ -f3`



    if [ "master" == "$branch" ]; then

        git --work-tree=/var/www/site checkout -f $branch

        echo 'Changes pushed live.'

    fi



done

这一段脚本是用 git 用户运维的,所以地点才必要给 /var/www/site
设置权限还要把 git 加组。

好了,以后得以推更新了:

git push origin master

4858mgm,即使看到“Changes pushed live.”,你就打响了。把 nginx 的目录设置成
/var/www/site,看看效果怎么样?

相关文章