zoukankan      html  css  js  c++  java
  • 如何搭建Ghost开源轻博客的

    啥是Ghost?

    一个开源的轻型博客,其具体的介绍可以查看官方网站,这里笔者仅写一些实战的东西。博客效果如下图,可以更换各种主题,当然也可以自定义主题:

    • 一个开源的轻博客系统,运行在nodejs环境中。
    • 安装即用,方便快捷。
    • 多款主题,随便选择,当然,你也可以创建自定义主题。
    • 支持邮件、云存储等等,npm下载你需要的任何组件
    • 过多不介绍,如果你想了解Ghost历史,请自行查询。

    ![](/content/images/2017/01/QQ--20170116150425.jpg)

    思路解析

    1. 首先,ghost运行在nodejs环境下, 首先你要安装nodejs、npm(nodejs的包管理工具)。
    2. 博客的文章存放在哪呢?当然是数据库了。所以你要搭建一台数据库,ghost默认数据库为sqlite,不过笔者还是建议使用mysql,毕竟其他数据库我不熟。
    3. nodejs本身可以当做服务器来使用,但为了负载均衡和一个服务器搭建多站点,笔者还是搭建了一台nginx,然后让nginx转发到nodejs服务器上。
    4. 当搭建完成之后,下载ghost包,然后安装、运行,这时,博客就搭建完成了。

    真枪实干

    1.安装环境(数据库、Nginx服务器、nodejs、npm)

    apt-get update  
    apt-get install mysql-server  
    apt-get install nginx  
    apt-get install nodejs  
    apt-get install npm

    输入以下命令进行测试:

    nodejs -v  
    npm -v  
    mysql --version  
    nginx -v

    2.下载ghost包 到 Ghost中文网 下载集成包,因为使用npm install会很慢,并且容易出错。

    3.将npm的源换成国内的源
    临时使用:npm --registry https://registry.npm.taobao.org install package

    package是需要安装的软件包名

    永久使用:npm config set registry https://registry.npm.taobao.org

    使用npm config get registry来查看是否配置成功

    4.安装相应软件

    • 解压并进入到ghost目录:unzip ghost.zip -d blog
    • 进入到blog:cd blog
    • 安装相应扩展包:npm install

    错误1:下载包时间过长,导致安装失败。很可能是因为换源的问题,解决方式就是换源;当然还可能是你的网速的原因。

    错误2:sh: 1: node: not found,这是什么原因呢?系统中没有这个node命令,我们有的命令是nodejs,所以我们只需要将cp /usr/bin/nodejs /usr/bin/node复制一份即可,这时,node命令就存在了,二者作用一样。

    5.安装成功

    6.配置Nginx 因为我们安装了nginx,nginx默认监听80端口。这时,我们需要配置nginx,让nginx转发到nodejs搭建的服务器之上。

    cd /etc/nginx/site-available  
    vim default

    修改server下location选项,让nginx转发到nodejs

    ...(省略)
    server {  
        ...(省略)
        server_name "修改成你自己的域名";
    location / { 
        // 转发到nodejs服务器之上
        proxy_pass http://127.0.0.1:2368;
        // 注释掉下面这行,只留下上面这个参数
        // try_files $uri/ $uri/ = 404; 
    

    }
    ...(省略)

    7.配置ghost相关选项 ghost根目录下有一个配置文件,为config.js;没有的话复制一份config.example.js即可。

    config = {  
        production: {
            url: 'http://域名',
            mail: {
                transport: 'SMTP',
                from: '邮箱@163.com',
                options: {
                    host: 'smtp.163.com',
                    port: 25,
                    secureConnection: false,
                    auth: {
                        user: '邮箱@163.com',
                        pass: '邮箱授权码'
                    }
                }
            },
        // 配置MySQL 数据库
        database: {
            client: 'mysql',
            connection: {
                host     : '127.0.0.1',
                user     : '用户',
                password : '密码',
                database : '数据库',
                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: {
        //    provider: 'local-file-store'
        //}
    
    
        // 阿里云OSS
        storage: {
            provider: 'oss',
            bucketname: '你的bucketname',
            ACCESS_KEY: '密钥',
            SECRET_KEY: '密钥',
            root: '/image/',
            endpoint: 'http://oss-cn-qingdao.aliyuncs.com',  //阿里云的上传端点是分地域的,需要单独设置
            prefix: 'http://blog-ghost.oss-cn-qingdao.aliyuncs.com'
        }
    },
    

    };
    module.exports = config;

    8.博客跑起来 项目根目录下,运行

    npm start --production

    9.首次进入后台需要配置若干选项 URL地址:域名/ghost

    傻瓜式操作,下一步下一步安装即可。

    10.让nodejs一直运行

    npm install forever -g # 全局安装forever工具  
    NODE_ENV=production forever start index.js # 生产模式后台运行ghost  
    forever list # 查看后台运行程序  
    forever stopall # 关闭所有
  • 相关阅读:
    AutoCAD利用VBA设置线型和添加用户自定义线性
    AutoVBA利用for循环创建同心圆弧
    AutoVBA利用Hacth对象填充图元对象
    AutoVBA利用AddArc方法创建Arc对象
    2011年6月5日星期天
    AutoVBA控件的tabindex和tabstop属性及with语句
    AutoVBA在绘图空间创建直线对象
    AutoVBA利用toolbar创建自己的工具栏
    AutoVBA调用AddCricle方法绘制圆
    AutoCAD利用VBA宏绘制多重平行线
  • 原文地址:https://www.cnblogs.com/jhcyzxx/p/10480034.html
Copyright © 2011-2022 走看看