这里说一下安装ghost的时间,2018年05月20日,这里先把坑先标出来,然后再写一下我的安装过程吧!
- 1、Node.js的版本必须是要Node js 0.10.x、0.12.x 和 4.2.x ,其他的版本都是不可以的;
- 2.Node.js 直接从官网下载后的tar的压缩包不需要源码编译安装,直接下载安装包以后,直接给下载后的解压缩包后的bin/ 下的node和npm建立一个软连接;网上有很多的教程安装也都是可以的;安装文件夹一般不要放在root下;
- 3.ghost一定要从官网下载,不要从乱七八糟的博客下载;
- 4.config.js这个文件,要说一下,从别的地方下载了以后,里面可能会没有,所以还是从官网(中文)下载吧;如果没有自己也可以去写一个config.js的文件,还是建议从官网下载;
- 5.需要安装Nginx,MySQL(根据自己需求,这里以MySQL为基准)。
- 6.最后需要对命令进行守护 npm start —production,需要用到nohup命令,后面需要添加&,解析域名的时候,还需要把域名和端口加上去
- 7.打开导入数据表中文乱码,需要对mysql.cnf进行设置编码,参考点我
好了,下面开始安装:
1.查看linux 的版本,下载对应的nodejs的版本
uname -a
2.下载nodejs,nodejs官网
wget https://nodejs.org/dist/latest-v0.10.x/node-v0.10.48.tar.gz
3.解压 nodejs压缩包,并且设置软连接
tar -zxf node-v.10.X
mv node-v.10.x /home/www/nodejs
ln -s /home/www/nodejs/bin/npm /usr/bin/npm
ln -s /home/www/nodejs/bin/node /usr/bin/node
验证node是否安装成功,可以直接输入
node -v
npm -v
4.安装MySQL,直接用yum安装
yum install mysql -y
//启动mysql
systemctl start mysql.service
//centos 低版本启动mysql,两者区别参考:
service mysql start
我的服务器是由于是用的AMH,有的时候启动和登录MySQL的时候回提示mysql.sock错误,需要对对应的版本的mysql进行一个软连接。
ln -s /tmp/mysql-5.7.sock /tmp/mysql.sock
5.配置MySQL,创建ghost用户且授权,创建ghost数据库,留着待用[config.js里面需要设置]
常见配置,不赘述
6.安装Nginx,基本同MySQL,yum安装后启动即可
yum install nginx -y
7.下载ghost,请去官网下载,如果不是从官网下载的可能会出现N+1个bug,下载后的ghost,需要将解压后的文件包移动至你需要的www目录下,打开ghost文件夹后,会看到一个config.example.js,请把cp一份成为config.js,然后对config进行配置,不同环境下的配置可以不同,一般包括环境名、端口、数据库、域名,还可以加一些oss和cdn,具体参考官网。
wget http://dl.ghostchina.com/Ghost-0.7.4-zh-full.zip
unzip Ghost-xx.zip -g ghost
mv ghost /home/www/ghost
cd /home/www/ghost/
cp config.example.js config.js
vi config.js
var path = require('path'),
config;
config = {
production: {
url: 'http://www.itran.cc',
mail: {},
database: {
client: 'mysql',
connection: {
host : '127.0.0.1',
user : 'ghost',//安装mysql添加的用户名
password : 'your pwd',
database : 'ghost',//这里是之前设置的数据库名称
charset : 'utf8'
},
debug: false
},
server: {
host: '127.0.0.1',
port: '2368'
},
//Storage.Now,we can support `qiniu`,`upyun`, `aliyun oss`, `aliyun ace-storage` and `local-file-store`
storage: {//可以配置七牛、oss等
provider: 'local-file-store'
}
}
};
module.exports = config;
然后通过npm安装且启动环境,非致命error可以直接忽略:
npm install --production
npm start --production
守护进行:
nohup npm start --production &
杀死进行:
找到进程号,以后kill掉就可以
8.配置nginx
nginx 在/etc/nginx/etc.d/default.conf copy一份,随便起一个名字,然后设置一个监听的端口号,和对应的www目录配置好了以后重启nginx,Nginx反向代理了解一下?
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:2368;
}
这里设置好了以后,还需要对nginx进行配置。
systemctl restart nginx