在WP越来越臃肿的情况下,很多人都纷纷转投轻量化的博客,PHP方面最知名的轻量博客还是Typecho,在国内有很高的声誉,不过正式版已经快三年没有更新,虽然开发版还在更新,加上用的人还是偏少,毕竟倾向于专门博客方面,所以模板、插件和二次开发的教程都偏少,所以又有一部分人投向了其他语言。例如很火的GO语言、NodeJS等等,用这些语言开发的博客网站确实速度非常快,让服务器的压力也小了很多,远比PHP这类动态的具有明显优势。在NodeJS方面最知名的就是Hexo和Ghost了,还有GO语言写的Hugo,还有Jekyll等等,他们甚至还能依靠Github Page运行,又节省了服务器成本。
一直闻其Ghost博客大名,但是一直没有体验过,所以这次折腾了一阵子终于搞定了比较简单些的Ghost博客。博主比较菜+懒,所以Hexo搞了半天没成功,虽然dalao们都说简单,加上手上空闲只有国内主机,国内主机平时更新个WP都是问题,下载Hexo依赖的一大堆组件简直不能忍受。。。正好Ghost博客已经有了很多一键搭建脚本,所以就先发Ghost博客。
Table of Contents
一、Ghost博客的搭建
Ghost博客的搭建说难不难,说简单也不简单,它比WP这种PHP所要的环境和组件毕竟多和复杂,所以很多新人都觉得这玩意实在是太复杂了。Ghost博客所占用的资源比较厉害,至少需要512MB内存才能保证其正常使用,如果主机在国外相对方便一些,国内更新软件包实在蛋疼。
Ghost博客有中文站点,但是已经很久没有更新源码,从英文官网下载是最新版本。Ghost需要的服务器环境是Nginx+NodeJS+Sqlite,使用MySQL需要其他操作,这类教程在百度上一大堆不再阐述。
推荐国外服务器,安装完整版系统,minimal系统因为会缺东西容易不成功。网上的搭建教程太乱,有的没写清楚,有的版本太老,NodeJS更新又太快,所以博主在网络上找到一个比较新的一键包,节省了不少时间。
1.系统需求
Ubuntu 16.04、14.04、12.04;Debian 8、CentOS 6或者7
2.安装
一键脚本开源:https://github.com/hwdsl2/setup-ghost-blog
wget --no-check-certificate https://git.io/ghost-nginx-modsecurity -O ghost-setup.sh
sh ghost-setup.sh yourdomain.com
yourdomain.com换成你自己的域名,务必提前在DNS做好解析。
然后一路确认自动安装
安装成功后访问http://yourdomain.com/ghost 即可,开始后台的设置。
3.设置后台
很简单的设置,也没啥好讲的,设置好站点名称、邮箱、昵称、密码就行了。
二、Ghost博客后台
后台一直是博主关注一款程序的重点,可以看到这款程序的所有功能到底怎么样。
Ghost博客的后台肯定比WP那一堆简单多了,基本就是设置、发布文章、标签等设置。
1.文章编辑
流行的Markdown编辑器,要啥啥没有,需要掌握基本的MD语法,其实也不算难。Ghost好处就是后台就能发文章,Hexo这类需要在本地写再同步上传才能完成发布,有点麻烦。
在编辑器提供了基本的高级设置,足够使用了,特殊图片、标签、时间和作者等等,也能自定义Url路径。
2.导航栏
设置首页的导航栏,可以自定义文章、或者Url链接
3.标签
Ghost博客分类基本就是靠标签了,和传统的WP等不同不是有单独的分类,这点不太一样。
4.自定义设置
头部和底部代码,可以插入统计等等。
5.插件
自带的两个插件,第二个AMP可以为Google搜索提供一个移动版本,例如V2EX也有在Google上展示移动页面就是这个版本。
6.导出导入数据
提供了数据迁移功能,可以方便的导入导出数据,比WP需要装个插件简单省事。
7.团队协作
Ghost提供了团队协作功能,可以添加用户一起建设一个网站,这种简单程序一般是个人使用的,有团队功能确实有创意。
8.基本设置
对博客进行设置,上传Logo、标题、描述等等,同时主题也在这里可以管理,找到Ghost主题可以直接在后台上传
三、前台
前台没什么好讲的,其实自带主题就不错,也有很多第三方主题,质量普通不错。
四、使用问题
基本算是轻量级博客的共性吧,毕竟大部分是极客、个人使用,所以对很多功能都进行了删减,保证了高效运行,当然也牺牲掉了一些功能。例如搜索功能没有,好像Ghost博客也能加,不过没有时间就没再折腾。还有就是没有分类功能,在前文已经提到,分类基本是拿标签来充数。还有就是没有评论系统,评论需要使用第三方。第三方评论因为多说倒了所以推荐国内使用畅言(需要备案)、友言、网易云跟帖,特别网易云跟帖支持Https,还是不错的,当然缺点就是必须登录帐号才能评论,有点略麻烦。国外还有Disqus,不过这货被墙了也没什么好说的。还有就是自建,Isso评论系统,在兽兽dalao的博客使用,看起来不错,自建也稳定可靠许多,这方面教程在后面的扩展阅读中会提供,有兴趣的可以去建立一个。
使用第三方评论系统
找到主题文件,本篇文章使用的一键包Ghost安装在/var/www/yourdomain.com/主题文件夹/,编辑post.hbs文件,把评论代码加到最底下的{{/post}}标签后面就行了。第三方评论使用通用代码即可。使评论系统生效重启Ghost博客或者最简单的去后台设置,切回默认主题再切回自己用的主题即可生效。
五、Ghost博客使用Https+Robots规则
在国内一些博客和网站都没有找到可靠明白的使用Https的教程,在Google翻了一些歪果仁的文章总算看明白了,英语渣不容易啊。。。
1.Https+301强制跳转https
本篇文章所使用的一键包Nginx配置文件夹在/opt/nginx/conf,修改nginx.conf文件,提供一份模板,https+301强制https。站点域名和证书名称、位置替换成自己使用的!同时提供下载:https://file.zrj.tn/zrj96/ghost-nginx.conf
user nginx;
worker_processes 2; # Set this equal to the number of CPU cores
events { worker_connections 1024; }
http {
server_names_hash_bucket_size 64;
types_hash_max_size 2048;
server_tokens off;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 15;
gzip on;
gzip_comp_level 6;
gzip_disable "msie6";
gzip_min_length 150;
gzip_proxied any;
gzip_types text/plain text/xml text/css application/json application/javascript;
gzip_vary on;
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:8m max_size=1000M inactive=60m;
proxy_temp_path /var/tmp;
client_max_body_size 20m;
client_body_buffer_size 128k;
ModSecurityEnabled on;
ModSecurityConfig modsecurity.conf;
upstream ghost_upstream {
server 127.0.0.1:2368;
keepalive 64;
}
server {
listen 80;
server_name slarker.me;
return 301 https://designer.moe$request_uri;
}
server {
listen 443 ssl;
server_name designer.moe;
ssl_certificate /opt/nginx/conf/designer.moe.crt;
ssl_certificate_key /opt/nginx/conf/designer.moe.key;
# Due to the SSLv3 POODLE vulnerability, it is excluded from the protocol list.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!MEDIUM:!aNULL:!MD5:!DH:!EDH;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
if ($request_method !~ ^(GET|HEAD|POST|PUT|DELETE)$ ) { return 444; }
if ($host != $server_name) {
return 301 $scheme://$server_name$request_uri;
}
location ~* \.(db|hbs|conf)$ { deny all; }
location ~ /\. { deny all; }
location ~ ~$ { deny all; }
# Uncomment this block if you wish to use your own files
# instead of those auto-generated by Ghost blog
# location ~ ^/(sitemap\.xml|robots\.txt|favicon\.ico)$ {
# root /var/www/designer.moe/public;
# access_log off;
# log_not_found off;
# }
# Static files served directly by Nginx
location ~ ^/assets/(img|js|css|fonts)/ {
root /var/www/designer.moe/content/themes/casper;
expires 30d;
access_log off;
}
location ~ ^/(img/|css/|lib/|vendor/|fonts/) {
root /var/www/designer.moe/core/client/assets;
expires 30d;
access_log off;
}
location ~ ^/content/images/ {
root /var/www/designer.moe;
expires 30d;
access_log off;
}
location ~ ^/(shared/|built/) {
root /var/www/designer.moe/core;
expires 30d;
access_log off;
}
location / {
proxy_pass http://ghost_upstream;
proxy_redirect off;
proxy_read_timeout 180s;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_pass_header X-CSRF-TOKEN;
proxy_http_version 1.1;
proxy_cache one;
proxy_cache_key "$scheme$host$request_uri";
proxy_cache_valid 200 10m;
proxy_cache_valid 404 1m;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
proxy_intercept_errors on;
proxy_hide_header X-Powered-By;
}
location = /50x.html { root html; internal; }
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
}
}
修改完成后重启Nginx即可生效。
service nginx restart
2.Robots规则
User-agent: *
Disallow: /ghost/
Disallow: /signout/
Sitemap: http://YOUR.DOMAIN.NAME/sitemap.xml
六、总结
如果寻找一款仅仅是博客的程序Ghost这类轻量级博客确实非常不错,速度快、轻巧简约,完全为博客用户设计,远比臃肿不堪的WP方便很多。如果你觉得某些功能不方便或者必须有那还是建议使用Typecho。当然WP也有他自己的用户群体,更适合二次开发和大型网站的运营。各取所需吧。
七、扩展阅读
还想折腾的可以看看以下文章推荐
Debian 8.x / Ubuntu 16.04.x 搭建 Isso 评论系统教程
Debian 8.x / Ubuntu 16.04.x 搭建 Ghost 教程
Hexo建站从入门到精通-Hexo博客本地环境配置,初始化,写作与部署
八、参考文章
本篇文章的写成参考了以下文章,感谢原作者的辛苦付出!
Ghost轻博客一键安装脚本工具(Ubuntu/Debian/CentOS)
Ghost Blog Auto Setup with Nginx and ModSecurity
原创文章,作者:zrj766,如若转载,请注明出处:https://www.zrj96.com/post-465.html
欢迎关注本站Telegram频道获取最新资讯:点击加入
评论列表(11条)
谢谢站长分享!!
感谢分享
有空搭建一个看看
有时间我去试试
博主你好,在开启https并配置强制跳转之后后,在后台管理页面中有一张图片还是会以http的方式加载,这个应该在哪修改呢?
@小白:我没遇到过,ghost1.0也比我那会变化了。chrome按f12打开控制台,看看有x或者感叹号的提示就能指出哪里不合适了。
博主试试这个 纸小墨(InkPaper)
简单绿色 不用搭建什么环境
@天下第一:有时间我去试试
请问ghost的重启命令是什么呢?
@CMour:不知道作者用的啥守护服务,试试pm2 restart ghost
支持楼主,赞赞