本文主要介绍如何利用NodeJS和Ghost框架搭建自己的博客网站,网站部署在阿里云服务器上。另外还会说明网站备案的一些流程。这篇文章也是本人在搭建个人站点时的一些总结。
关键字:Ghost,NodeJS,Nginx
运行环境
由于Ghost框架需要NodeJS支持,而目前大部分建站的虚拟主机并不支持NodeJS,再加上本人是做开发的,对运行环境的要求不仅限于运行网站,需要的是一个通用的环境,所以选择的是阿里云的ECS主机。至于配置,选择的是1G内存,1M带宽,40G硬盘,这个配置用来做个人网站应该够用了。如果将来访问量大了还可以升级主机配置或者将静态的内容迁移到云存储服务上来分流。操作系统选择的是CentOS7,所以后面的操作都是基于这个系统的。
安装依赖
NodeJS
笔者是用nvm来安装的,这样可以切换不同的node版本。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
由于Ghost对nodejs的版本有要求,我安装的是4.2.6版的
nvm install v4.2.6
nvm use v4.2.6
在利用npm安装node依赖包时可能会出现无法下载的情况,故我使用的是淘宝 NPM 镜像:
npm install -g cnpm --registry=https://registry.npm.taobao.org
Nginx
网站使用Nginx做反向代理,这样比较安全,而且有更好的配置弹性。
yum install nginx
修改配置/etc/nginx/nginx.conf
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
server {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1:2368;
}
}
启动服务,并设置开机自启动
systemctl start nginx
systemctl enable nginx
pm2
利用pm2使ghost常驻后台执行。
cnpm install pm2 -g
安装Ghost
这里要先介绍一下中文Ghost,这个是Ghost的汉化版本,里面还整合了一些好用的功能,但版本较官方低。笔者使用的是官方的版本,可以去这个页面下载。
进入解压后的目录,安装依赖包,执行:
cnpm install --production
修改配置
cp config.example.js config.js
config.js:
production: {
url: 'http://YOUR-URL',
mail: {},
database: {
client: 'sqlite3',
connection: {
filename: path.join(__dirname, '/content/data/ghost.db')
},
debug: false
},
server: {
host: '127.0.0.1',
port: '2368'
}
},
使ghost常驻后台执行
NODE_ENV=production pm2 start index.js --name "ghost"
以后可以通过下面的命令来控制ghost运行:
pm2 start ghost
pm2 stop ghost
pm2 restart ghost
此时如果你已经配置好了你的域名解析,打开浏览器,输入http://YOUR-URL
,应该能看到Ghost的启始页面。
网站备案
使用非大陆主机的可以无视该部分。
笔者的ICP备案是在阿里云上申请的,申请初次提交后,阿里云的客服会给你打电话确认一些东西,这里需要注意的是你留的座机号码客服会确认的,不要留假号码。申请通过后需要邮寄幕布拍照,还要把一式三份的申请单打印出来邮寄给他们,这些在申请流程中都会给你提示的,注意看就好了。阿里通过你的备案申请后会把信息提交给管局,这时候你只要耐心等待,我是在10天后收到备案通过的短信。总之备案的部分只要你按照要求做,会顺利搞定的。