AWS EC2+RDS 的 ghost 博客系统的安装和配置
ghost 是一个极其轻量级的blog系统,它可以需要相对比Wordpres更少的系统资源,free tier的套餐应该就能够很好的支持该系统。
本文主要按安装配置过程,描述ghost的整个打建过程,并提供参考配置文件和参数。
开启Ec2虚拟机,选择默认AMI镜像,选择你需要的规格,free tier那个档次一定可以的。网站内存稳定在350MB,我开了一个2GB的RI实例,可以说在目前真的是浪费。RDS 数据库实例开通,mysql最新版,最低规格即可,实例名blog。调整安全组策略,保证ec2虚拟机可以http/ssh,保证ec2可以连接数据库的 端口。
安装系统依赖的包:
sudo yum -y install unzip wget nodejs npm nginx mysql –enablerepo=epel
sudo chkconfig nginx on
安装nodejs的守护服务forever,它可以在nodejs服务器崩溃之后再次唤醒它。它可以管理nodejs服务器的起停
sudo yum npm install forever -g
测试ec2连接rds数据库
mysql -udbadmin -pXXXXXXXXXXX -h ghost-db.cnyqveiljf1f.ap-southeast-1.rds.amazonaws.com -P3306
下载和安装ghost,建立一个目录 /srv/www/, 下载并解压最新版 ghost即可
sudo curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
sudo unzip -uo ghost.zip -d ghost
修改ghost配置文件,复制一份修改即可
cp config.example.js config.js
修改production这一段,如下:
production: {
url: ‘http://awsgood.com’,
mail: {},
database: {
client: ‘mysql’,
connection: {
host : ‘ghost-db.cnyqveiljf1f.ap-southeast-1.rds.amazonaws.com’,
user : ‘dbadmin’,
password: ‘XXXXXXXXXXX’,
database: ‘blog’,
charset: ‘utf8’
},
debug: false
},
server: {
host: ‘127.0.0.1’,
port: ‘2368’
}
},
用nginx绑定域名并提供http 80 的访问,创建配置文件/etc/nginx/conf.d/ghostblog.conf,并参考如下内容:
sudo touch /etc/nginx/conf.d/ghostblog.conf
server {
listen 80;
server_name awsgood.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
}
启动nodejs服务器
sudo NODE_ENV=production forever start /srv/www/ghost/index.js
查看nodejs服务器状态
sudo forever list
停止nodejs服务器(修改theme或者安装theme都需要重其nodejs)
sudo forever stopall
重新启动ngix服务器
sudo service nginx restart
查看nginx服务器状态
sudo service nginx status
如果还没有域名的话,可以先使用EIP访问并且开发站点,之后在修改为正常域名访问的情况,在上面url 和 server_name 两个参数后面放eip,网址安装成功之后用ip可以正常访问,如果顺利的话,熟悉yum和vi的使用的人,完成以上配置和运行工作,快速的可以在30分钟 内完成。
使用firefoix或者chrom的朋友用浏览器就可以测试一下awsgood.com和本站的网络速度差异。惊奇的发现:
- 本站:美国vps+七牛CDN+DNSPod,所有网页基本上在2妙以上
- awsgood.com : 新加坡AZ EC2主机+DNSPod,网页速度都在200ms左右,几乎是10倍的速度提高
参考文章:
http://support.ghost.org/installing-ghost-linux/
http://www.ghostchina.com/install-ghost-on-ali-ecs-first-step-install-node-js/