如何使用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 相关文章推荐
同时提取多条新闻中的文本一例
Oct 09 PHP
用PHP的ob_start();控制您的浏览器cache!
Nov 25 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
php时间计算相关问题小结
May 09 PHP
PHP的AES加密算法完整实例
Jul 20 PHP
Linux系统中为php添加pcntl扩展
Aug 28 PHP
thinkPHP5.0框架模块设计详解
Mar 18 PHP
PHP开发之用微信远程遥控服务器
Jan 25 PHP
laravel框架语言包拓展实现方法分析
Nov 22 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并发对MYSQL造成压力的解决方法
2013/02/21 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
PHP的Yii框架中过滤器相关的使用总结
2016/03/29 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
python实现异步回调机制代码分享
2014/01/10 Python
使用python 获取进程pid号的方法
2014/03/10 Python
多个应用共存的Django配置方法
2018/05/30 Python
Python实现ping指定IP的示例
2018/06/04 Python
Python 获取 datax 执行结果保存到数据库的方法
2019/07/11 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
墨西哥购物网站:Elektra
2020/01/21 全球购物
客户代表自我评价范例
2013/09/24 职场文书
优秀研究生自我鉴定
2013/12/04 职场文书
白血病捐款倡议书
2014/05/14 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫
vue修饰符.capture和.self的区别
2022/04/22 Vue.js
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang