如何使用Gitblog和Markdown建自己的博客


Posted in PHP onJuly 31, 2015

下面给大家分享下如何使用Gitblog和Markdown建自己的博客,如何大家拥有服务器或者云平台提供的云主机,我推荐大家使用Linux+ Nginx 来运行Gitblog,如果大家目前只有Apache环境也可以。

域名解析

将你准备好的域名解析到你的主机IP,推荐使用 dnspod 来管理和监控你的域名,具体的使用方法参考dnspod官方说明文档,非常简单。

Nginx+PHP运行环境

首先安装好你的Nginx和PHP环境,PHP版本要求5.3以上。如果你没有安装过,可Google搜索相关教程,也可以参照Nginx和PHP官方的文档。这是第一步,有一个正常的Nginx + PHP的运行环境。

配置Nginx

nginx可参考如下配置:

server {
 listen    80;
 server_name jockchou.gitblog.cn;
 root /data/vhosts/jockchou.gitblog.cn;
 index index.html index.htm index.php;
 location ~ \.(jpg|png|gif|js|css|swf|flv|ico)$ {
   expires 12h;
 }
 location / {
  if (!-e $request_filename) {
     rewrite ^(.*)$ /index.php?$1 last ;
     break;
  }
 }
 location ~* ^/(doc|logs|app|sys)/ {
  return 403;
 }
 location ~ .*\.(php|php5)?$
 {
  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_pass  127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
 }
}

将以上配置中的server_name和root改成你自己的,fastcgi_pass配成你的CGI进程端口。

权限配置

由于Gitblog的缓存机制需要写 app/cache 目录,必要时请查看并修改这个目录的权限,以确保你的PHP拥有写这个目录的权限。通常你只需要将此目录的所属者和组修改成CGI的运行账户。

运行

以上配置好以后,启动你的Nginx和CGI服务,上传Gitblog源代码到网站目录,通过浏览器访问解析到本机的域名观察页面效果。如果页面没有正常显示,通过错误码来检查你的CGI和Nginx配置。

Gitblog介绍

一. 简介

Gitblog是一个简单易用的Markdown博客系统,它不需要数据库,没有管理后台功能,更新博客只需要添加你写好的Markdown文件即可。它摆脱了在线编辑器排版困难,无法实时预览的缺点,一切都交给Markdown来完成,一篇博客就是一个Markdown文件。同时也支持评论,代码高亮,数学公式,页面PV统计等常用功能。Gitblog提供了不同的主题样式,你可以根据自己的喜好配置,如果你想自己制作博客主题,也是非常容易的。Gitblog还支持整站静态导出,你完全可以导出整站静态网页部署到Github Pages。

二. 功能特点

使用Markdown
评论框
代码高亮
PV统计
Latex数学公式
自制主题
响应式
全站静态导出
良好的SEO
三. GitBlog优势

无需数据库,系统更轻量,移植更方便
使用Markdown编写,摆脱后台编辑排版困难,无法实时预览的缺点
可全站静态导出
配置灵活,可自由开关某些功能
多主题支持,可自制主题
博客,分类,标签,归档
四. 环境要求

PHP 5.2.4+

五. 安装步骤

下载Gitblog源代码
解压上传到你的PHP网站根目录
打开浏览器,访问网站首页
上传Markdown文件到 posts 文件夹

以上内容就是如何使用Gitblog和Markdown建自己的博客的全部内容,希望大家能够喜欢。

PHP 相关文章推荐
PHP CURL模拟GET及POST函数代码
Apr 25 PHP
比较全面的PHP数组的使用方法小结
Sep 23 PHP
如何用PHP实现插入排序?
Apr 10 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
php实现在限定区域里自动调整字体大小的类实例
Apr 02 PHP
php中的登陆login实例代码
Jun 20 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
php的单例模式及应用场景详解
Feb 27 PHP
php自定义类fsocket模拟post或get请求的方法
Jul 31 #PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
Jul 31 #PHP
PHP中filter函数校验数据的方法详解
Jul 31 #PHP
PHP代码实现爬虫记录――超管用
Jul 31 #PHP
PHP 前加at符合@的作用解析
Jul 31 #PHP
PHP查看当前变量类型的方法
Jul 31 #PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 #PHP
You might like
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
PHP调用其他文件中的类
2018/04/02 PHP
用javascript编写的第一人称射击游戏
2007/02/25 Javascript
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
js实现计算器功能
2020/08/10 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
基于python神经卷积网络的人脸识别
2018/05/24 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
利用python在大量数据文件下删除某一行的例子
2019/08/21 Python
python支持多继承吗
2020/06/19 Python
工作中的自我评价如何写好
2013/10/28 职场文书
学校采购员岗位职责
2014/01/02 职场文书
端午节粽子促销活动方案
2014/02/02 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
违章停车检讨书
2014/10/21 职场文书
力克胡哲观后感
2015/06/10 职场文书
商业计划书范文
2019/04/24 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python