Ubuntu下nginx+nodejs搭建Ghost博客
Posted in Ghost, Guide, node.js, Ubuntu, Nginx, 博客
我将把我如何安装Ghost博客并部署到我装有Ubuntu的VPS(virtual private server)的整个过程跟大家分享出来。
在确定使用Ghost前我先后尝试过许过用来写博客的平台使用各种网站的博客服务新浪,Wordpress等等,可是始终觉得不是自己的感觉不是很爽。之后的搜索中发现这了Hexo这个用来生成静态页面的博客平台。在Hexo中又摸爬滚打了一段时间之后,发现除了可以很方便部署到Github Pages之外,在移动端Hexo无能为力的现实之后,又开始寻找新的目标。(有时间我也会把Hexo的一些心得体会写出来,如果有兴趣可以先去看看我做的Hexo主题stylixo)。
言归正传,之所以使用Ghost是因为好看。嗯,是真的好看。再加上,出了对UI主题等等改动之外,平时写博客不需要触及代码之类的东西(如果你觉得Markdown也算代码,那就当我没说)。另外的一个最大的好处就是其Web app设计思路的博客管理系统,可以让你随时随地抄起手机拿起pad就能写起来。
将Ghost部署到服务器上不是什么难事,只是有一些需要注意的细节。在这里我想将个人域名的首页用作个人介绍,所以将博客放在子域名(www.yourdomain.com/blog)上了.
首先你需要安装node.js到你的服务器上。我使用的Linode的VPS,因为是整个虚拟机交到你手里,你有完全的掌控权。如果你和我一样,不仅想假设自己的主页,博客并且想搭建一些动态网站或者给自己的项目做demo的话这个无疑是最好的选择。我选择的是Linode 1GB版本,一个月10刀约合人民币61元. (你可以点这里通过我的推荐码注册你的Linode。不要说我套路深!)
安装NodeJS
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
安装Ghost
定位到你准备安装Ghost的目录(如果使用Nginx默认目录是/var/www
)
cd /var/www
sudo wget https://ghost.org/zip/ghost-latest.zip
sudo unzip -d ghost ghost-latest.zip
cd ghost/
sudo npm install --production
配置Ghost
安装完成之后,我们需要对Ghost进行相关设置来为我们所用。首先复制默认的设置文件建立我们使用的设置文件。
sudo cp config.example.js config.js
sudo vim config.js
在production部分修改以下设置
将 url: 'http://my-ghost-blog.com'
改成 url: 'http://yourdomain.com/blog'
将 host: '127.0.0.1',
改成 host: '0.0.0.0',
将 mail: {},
改成你需要的邮件服务商(这里使用mandrill作为例子)
mail: {
transport: 'SMTP',
host: 'smtp.mandrill.com',
options: {
service: 'Mandrill',
auth: {
user: 'Mandrill Username',
pass: 'Mandrill API Key',
},
},
},
这样Ghost就初步设置好了。
配置Nginx监听Ghost端口
现在我们需要设置Nginx来将访问我们博客 http://yourdomain.com/blog
的请求转发给Ghost。
在原有的访问 http://yourdomain.com
的规则中,我们需要加上如下的规则:
location ^~ /blog {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:2368;
proxy_redirect off;
}
现在当我们访问 http://yourdomain.com/blog
的时候,Nginx就会将我们的请求转发给 http://127.0.0.1:2368
,而2368正是Ghost服务所使用的端口。
建立你的Ghost管理员账号
一切设置好了之后我们就可以进入Ghost的后台管理界面,建立管理员帐号并开始使用博客了。
首先定位到Ghost的安装目录,并启动Ghost
npm start --production
打开浏览器在地址栏输入 http://yourdomain.com/blog/ghost
此时你就可以看到Ghost的的后台界面,第一次登陆的时候会让你输入邮箱密码等相关信息。一起输入好之后,就能顺利进入后台来写博客了。此时,如果你设置了正确的邮箱服务, 你会收到一封来自 ghost@yourdomain.com
的邮件告诉你注册成功。
将Ghost作为后台进程运行
最后要进行的步骤是将Ghost最为后台程序运行,这样在我们关闭终端或断开连接之后,Ghost也一样能运行在我们的VPS上。
sudo npm install -g forever
NODE_ENV=production forever start index.js
此时你会看到一条运行成功的消息。大功告成!
Happy blogging!
欢迎扫描二维码将本文分享到朋友圈 :)