阿里云linux centos7安装ghost博客踩坑记

这里说一下安装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,两者区别参考:https://blog.csdn.net/lineuman/article/details/52578399
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

到这里就已经可以了,在实现的过程中会出现N种bug的可能,但是我第二次在腾讯云按照这个步骤测试一次性成功。

希望可以帮到大家!

原文转载自:码农启示录 

猜你喜欢

转载自blog.csdn.net/modo_seosite/article/details/80407438
今日推荐