美文网首页
Centos环境下搭建Ghost博客系统

Centos环境下搭建Ghost博客系统

作者: dihuihengxin | 来源:发表于2017-04-09 02:30 被阅读0次

    最近想搭建一个Ghost的个人博客系统,在网上搜到了很多关于如何搭建Ghost系统的文章和方法,但是基本上不是过时了就是不能用的。刚开始我是按着别人给的流程在阿里云云主机上捣鼓的,遇到不少的问题,并不能完整成功的搭建出可用的Ghost博客系统。这对于我来说可不是一个很好的消息,因为我一旦决定想做某一件事,必定抱着“不到黄河心不死”的决心。再说了我不能半途而废就放弃自己的想法,所以深入的研究网上许多大牛们给出的方案,加上通宵达旦不懈的努力,终于走出了这个坑!心想着肯定还有很多朋友会遇到这个问题,所以写下此博文与大家分享一下,希望能帮到你们。

    欢迎点击我的博客前往查看效果。

    我的配置信息

    我个人采用Ghost + MySQL + Nginx来搭建的,以下是具体的版本信息:

    • 系统版本:Centos6.8 64位
    • MySQL版本:5.1.73
    • Nginx版本:1.10.3
    • Node版本:node-v0.12.18
    • Ghost版本:Ghost v0.7.4 full(zh)

    安装环境准备

    yum update                 #更新为最新的yum源
    yum install -y vim         #安装vim,不安装则用vi  
    

    MySQL的安装配置

    开始安装

    Ghost-0.7.4 full(zh)默认使用sqlite3数据库,但是sqlite对海量数据的读写效率比较慢,影响页面加载的速度从而造成用户的体验感不佳。下面是安装MySQL过程:

    yum install mysql mysql-server           #安装MySQL服务
    service mysqld start                     #启动MySQL服务
    mysql_secure_installation                #根据实际需要配置MySQL密码,这里不详细说明
    service mysqld restart                   #配置完后重启生效
    chkconfig mysqld on                      #设置MySQL开机自启
    
    配置文件

    编辑MySQL的配置文件my.cnf,修改字符编码为utf-8,让博客系统支持中文,不出现一堆蚂蚁等火星文字,毕竟博客还是以中文为主的。

    vim /etc/my.cnf 在对应项上添加以下:

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    init-connect='SET NAMES utf8'
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    

    在MySQL数据库中添加一个ghost数据库,并添加一个用户:

    mysql -uroot -p                 #回车后输入你设置的密码进入到数据库
    create database ghost;          #创建一个ghost数据库,数据库名任意
    grant all privileges on ghost.* to 'username'@'%' identified by 'passwd';
    #说明:“username”为数据库ghost指定用户,不建议直接使用root用户,“passwd”为“username”用户的密码。
    

    Nginx的安装配置

    准备工作

    安装Nginx前添加一个repo文件,用于安装Nginx:

    vim /etc/yum.repos.d/nginx.repo
    

    编写以下内容(我就不具体说明每个字段的意思咯):

    [Nginx] 
    name=Nginx
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ 
    gpgcheck=0
    enabled=1
    
    正式安装

    直接yum方式安装Nginx:

    yum install -y nginx     #yum安装
    service nginx start      #启动Nginx服务
    chkconfig nginx on       #开机自启
    

    然后在浏览器输入你的IP地址就可以进入一个Nginx的欢迎界面,出现如下图就说明Nginx安装成功了。

    Nginx的反向代理配置

    下面开始配置Nginx的反向代理(备份一下,在服务器上的配置文件不建议直接删除):

    mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bar   
    cp /etc/nginx/conf.d/default.conf.bar /etc/nginx/conf.d/ghost.conf
    vim /etc/nginx/conf.d/ghost.conf   
    

    配置成以下信息:

    server {
        listen 80;
        server_name www.kalid.top;    #这里是你的域名或IP地址
        location / {
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   Host      $http_host;
            proxy_pass         http://127.0.0.1:2368;   #端口要与ghost中配置的一样
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    

    然后让Nginx重启让配置生效:

    service nginx restart
    

    Nodejs的安装

    特别说明一下:根据Ghost中文网对Ghost-v0.7.4 full(zh)关于Node版本选择,我第一次安装node-v0.10x时,发现在安装ghost时提示node版本过低。原因是因为我yum安装的Nginx是1.10.3版本,要求node的版本不能过低。Ghost-v0.7.4 full(zh)官方建议是使用v0.10x,同时支持v0.12.x和v4.2.x版本。所以我就选择了v0.12.18,顺利的解决了版本问题。下面是安装过程:

    wget http://nodejs.org/dist/v0.12.18/node-v0.12.18.tar.gz  #wget没有的话,“ yum install -y wget ”安装后再执行上述命令
    tar vxf node-v0.12.18.tar.gz -d /usr/local/src/  #解压到指定目录下
    cd /usr/local/src/node-v0.12.18                  #切换到解压后的目录下
    ./configure                                      #简单使用默认配置
    make && make install                             #编译安装node
    

    Ghost的安装与配置

    开始安装

    创建ghost目录,将ghost安装到此目录下:

    mkdir -p /var/www/ghost     #创建目录,自己任意命令
    cd !$              #切换到ghost目录,"!$"表示上个命令的最后一个参数
    wget http://dl.ghostchina.com/Ghost-0.7.4-zh-full.zip   #下载ghost
    unzip Ghost-0.7.4-zh-full.zip     #解压ghost压缩包到当前目录下
    
    配置文件

    在ghost目录中将config.example.js复制一份并命名为config.js

    config.js中的config数据配置对象是一个多维度对象,production(生产模式)和development(开发者模式),其中默认使用的是development配模式,实际我们要运行时是使用production模式。

    下面进行具体的配置:

    cp config.example.js config.js   #复制
    vim config.js
    

    然后修改config.js中的production选项内容,使其使用mysql数据库,注释掉原来默认使用的sqlite3数据库:

    production: {  
        url: 'kalid.top',        #你的域名或IP地址
        mail: {},
        database: {
            client: 'mysql'      #使用MySQL数据库
            connection: {
                host     : '127.0.0.1',      #数据库地址
                user     : 'username',       #用户名
                password : 'passwd',         #密码
                database : 'ghost',          #创建的ghost数据库
                charset  : 'utf8'
        },
        server: {
            host: '127.0.0.1',
            port: '2368'         #该端口和nginx中ghost.conf设置的端口要一致
        }
    }
    

    至此,ghost博客基本就算搭建完成了。在ghost目录下使用npm start启动ghost的开发者模式,然后在浏览器中输入你的域名或IP地址就可以访问你搭建好的博客了。但是,这仅仅是开发者模式下的博客,一旦断开ssh连接,ghost进程马上就关闭,导致我们不能正常访问博客了。

    解决ghost永久在线运行的办法

    搭建的博客是希望它永久在线运行的,要不然就没有任何的意义了。怎样才可以在断开ssh连接后让博客系统一直运行呢?网上也给出了很多的解决方案,我也尝试了一下,发现不是很尽人意,可能是选择的版本有直接的关系。为了解决这个问题,我也是试了多次才就我目前选用的版本得到一个解决方案-------使用pm2在后台来守护ghost服务进程,不让其下线,使其持续在production生产模式上运行,这样博客就不用担心掉线的问题了。

    pm2安装过程
    cd /var/www/ghost
    npm install -g pm2      #安装pm2
    NODE_ENV=production pm2 start index.js --name "ghost"  #指定入口文件和进程名字
    

    这样,博客就可以持续正常运行和访问了。

    pm2使用说明

    pm2 [option] 进程名。例如pm2 start ghost启动守护进程ghost;pm2 restart ghost重启守护进程ghost;pm2 stop ghost关闭守护进程ghost。
    每一次修改ghost的信息,都要重启一下才会生效,这个需要提醒一下。

    博客攻略

    ghost博客使用说明
    1. 访问博客前台:第一次登陆要求注册邮箱账户作为管理员账号,直接使用域名或IP都可以访问博客前台了。
    2. 访问博客后台:浏览器地址输入你的域名/ghost或是你的IP/ghost,使用第一次注册的管理账号登陆就可以进入博客后台了。
    博客主题更换

    可以到博客:http://marketplace.ghost.org/下载你喜欢的主题,有免费的也有收费的,也可以自己制作一个专属的主题哦。
    我的采用的主题,本人非常感谢该主题的制作者他的博客地址

    下面我简单说一下主题如何的更换:

    1. 当然了,先下载自己喜欢的主题,上传到/var/www/ghost/content/themes/目录下,并解压;
    2. 重启一下pm2守护进程ghost;
    3. 登录到ghost后台:“全局设置”--->“博客主题”选择刚上传的主题(已存在“Casper-zh-1.2.5”和“Roon-zh-1.1”两个默认主题)--->“保存”;
    4. 刷新你的博客首页,哇,你全新的博客主题出来了!好好享受一下吧!

    哈哈,是不是自己动手搭建好一个个人博客很鸡冻啊!如果你在搭建过程遇到问题,可以随时联系我哦!

    欢迎转载!转载请注明出处,谢谢合作!

    相关文章

      网友评论

          本文标题:Centos环境下搭建Ghost博客系统

          本文链接:https://www.haomeiwen.com/subject/lkorattx.html