开始使用 Ghost 啦!
关注 Ghost 很久很久了,14 年就尝试过 0.5.3 版,由于一直没有出正式版,所以一直处于关注和等待中。
终于在差不多一年前 Ghost 在 GitHub 上发布了1.0.0-alpha.1,本以为很快就能出正式版了,开始了焦急的等待。一开始基本上每天都会去 GitHub 上检查下他们的动态。后来变成了大约每周会去看一次,等了一个又一个版本,甚至等了大半年,终于在第 21 个 alpha 版后,推出了 beta 版,随后不久发布了 1.0.0 正式版。尝试去安装,结果发现挺多坑的,试了很久都没成功,正式版的 Docker 镜像也一直没出。再后面,Ghost 团队的更新也非常勤奋,基本每周都会发布新版本,那段期间我正好也比较忙,一直在默默关注,没有再去尝试安装,任务列表里的“博客迁移到 Ghost 上”也被一再推迟。
直到今天,突然想再去试下。看到 Docker 镜像也同步了最新的版本,于是直接上 Docker。几分钟就装完了,如丝般顺滑,很爽!(20171012 更新:通过默认命令安装,有些地址会显示成 localhost 开头的地址,通过--env url=https://hadb.me/
可以修改这个地址,但是由于 Nginx 设置有问题,导致设置成 https 的地址后就陷入重定向循环,这个问题后来困扰了很久,解决方案下面会讲。)
作为一个技术博主,我觉得还是有必要把安装步骤写一下,方便后人。
我的博客是搭建在自己家里的 NAS 服务器上,具体细节以后再讲。
宿主机安装证书
service nginx stop && \
certbot certonly --standalone --preferred-challenges tls-sni -d hadb.me && \
service nginx start
宿主机 Nginx 设置
server {
listen 443 ssl;
server_name hadb.me;
client_max_body_size 1024m;
ssl on;
ssl_certificate /etc/letsencrypt/live/hadb.me/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hadb.me/privkey.pem;
location / {
proxy_redirect off;
proxy_read_timeout 300;
proxy_set_header host $host;
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 https;
proxy_pass http://localhost:12368;
}
}
其中 proxy_set_header x-forwarded-proto https;
很重要,如果不加的话,当启动 docker 设置 url 为 https 开头的地址时,就会陷入重定向循环,这个问题困扰了我很久,最终在这个 issue里找到了答案。
创建数据镜像
docker create -v /srv/ghost/hadb.me:/var/lib/ghost/content --name ghost-hadb-me-data ubuntu:16.04
启动 docker
sudo docker run --detach \
--name ghost-hadb-me \
--env url=https://hadb.me/ \
--publish 12368:2368 \
--volumes-from ghost-hadb-me-data \
--tty \
ghost:latest
几行命令,Done!就可以开始愉快的写博客啦!哈哈哈哈哈!😃