最近想使用Ghost搭建自己的博客网站,网上搜索了下大多都是1.0之前版本搭建的文章,但是Ghost1.0版本已经可用好一段时间了,所以决定根据官方文档搭建Ghost1.0版本的博客系统。

下面开始一步步讲解在自己服务器上搭建、安装、配置Ghost的过程。

搭建准备

  • Ubuntu 16.04服务器
  • 至少 1GB 内存
  • 域名认证成功

不要被这么多清单吓到,基本上只需要一个内存1GB的Ubuntu 16.04系统服务器、一个备案成功的域名就行了,其他的会在后面的步骤中安装完成。

服务器设置

安装Ghost之前先安装一些必须软件

登录

使用ssh方式登录你的服务器

ssh root@your_server_ip

创建一个新用户

当您首次登录到新服务器时,强烈建议您创建具有常规帐户权限的新用户,并进行一些基本的系统设置,比如我这里创建了名为yangqiangyu的用户

adduser yangqiangyu

回车之后会提示你输入几个问题,重要的问题比如密码你就输,不重要的你可以直接Enter。

运行以下命令将我们创建的新用户加入 sudo组,这样才能拥有超级用户的命令权限。

usermod -aG sudo yangqiangyu

接下来切换到我们新建的用户

su - yangqiangyu

更新包管理器和软件包

为了确保软件包管理器和安装的软件包是最新的,我们需要执行以下命令

更新包管理器

sudo apt-get update

更新已安装的软件包

sudo apt-get upgrade

安装Nginx

执行以下命令安装Nginx

sudo apt-get install nginx

打开HTTP / HTTPS的防火墙

我们需要确保防火墙允许HTTP和HTTPS,执行以下命令。

sudo ufw allow 'Nginx Full'

安装MySQL

Ghost推荐的数据库是Mysql,执行以下命令安装

sudo apt-get install mysql-server

安装Node.js

执行以下代码安装Node.js

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash 
sudo apt-get install -y nodejs

安装Ghost-CLI

sudo npm i -g ghost-cli

通过CLI安装Ghost

执行以下命令创建文件夹

sudo mkdir /var/www/ghost

执行以下命令让该文件夹归新用户所有

sudo chown yangqiangyu:yangqiangyu /var/www/ghost

进入文件目录

cd /var/www/ghost

执行以下命令安装Ghost

ghost install

Ghost安装说明

执行ghost install成功之后,接下来会出现一堆以下的问题。

Enter your blog Url:

这是您的博客将提供的URL,并且必须包含该协议。例如http://myblog.com for HTTP或https://myblog.com for HTTPS。

Enter your MySQL hostname:

在这种情况下我们直接输入localhost。

Enter your MySQL username:

输入您的MySQL用户名。默认是root或者如果您已经创建了一个自定义MySQL用户,可以使用这个。

Enter your MySQL password:

接下来输入你安装Mysql时的密码。

Ghost database name:

Ghost用来存储的数据库名,随便输入就可以了,比如我输入的是ghost。

Do you wish to set up a ghost MySQL user?

问我们是否同意单独创建一个Ghost用户只做Ghost数据库表的操作,输入y回车。

Do you wish to set up nginx?

直接yes,之后会为您的博客设置NGINX配置等等。

Do you wish to set up ssl?

如果你要让你们网站支持https,可以输入y回车,这样就会使用Ghost加密认证服务。否则你就要自己设置ssl。

Do you wish to set up automatic ssl renewal?

SSL证书只能持续90天,接受让Ghost-CLI将帮我们尝试认证更新。

Do you wish to set up systemd?

这里直接yes,否则安装会失败。

所有问题回答完毕之后,就可以通过域名访问你的Ghost博客啦!

Ubuntu 搭建Ghost1.0博客系统的更多相关文章

  1. 基于Ubuntu 搭建 WordPress 个人博客 - 开发者实验室 - 腾讯云

    1.准备 LAMP 环境 安装 Apache2 在终端输入该命令 ,使用 apt-get 安装 Apache2: sudo apt-get install apache2 -y 安装好后,您可以通过访 ...

  2. Mac下搭建hexo3.0博客

    Mac下搭建hexo3.0博客(文章同步自个人博客站点以及Github博客https://xingstarx.github.io/) window环境下搭建hexo博客 详细内容能够參考这一篇文章怎样 ...

  3. 讲解开源项目:5分钟搭建私人Java博客系统

    本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目.示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出的< ...

  4. 从零开始搭建solo个人博客系统

    目录 1.博客系统的搭建流程 2.服务器选购 2.1阿里云学生主机 2.2普通云主机 3.域名购买与备案(可选) 3.1域名购买 3.2域名服务器备案 3.3域名服务器解析 4.solo安装 4.1 ...

  5. LIGHTX-CMS —— 基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客系统

    概述 LIGHTX-CMS 是我基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客发布系统. 项目本身可以拿来部署个人博客网站,同时我认为其也适合用以新手学习 Node ...

  6. 基于ubuntu搭建 WordPress 个人博客

    系统要求:Ubuntu 16.04.1 LTS 64 位操作系统 准备 LAMP 环境:(LAMP 是 Linux.Apache.MySQL 和 PHP 的缩写,是 Wordpress 系统依赖的基础 ...

  7. docker 搭建一个wordpress 博客系统(4)

    安装lnmp ()下载镜像 [root@server ~]# docker pull mysql:latest #下载mysql镜像 [root@server ~]# docker pull rich ...

  8. 欢迎阅读daxnet的新博客:一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统

    2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为"希赛网" ...

  9. 一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统

    2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为“希赛网”)个人空间发布过一些 ...

随机推荐

  1. go 字符串拼接

    s := "hello," m := " world" a := s + m fmt.Printf("%s\n", a)

  2. Jmeter 抓app包 抓到一半不好用了

    错误描述: java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl ...

  3. 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0

    错误描述: 错误原因: 因为引用出了问题,在你的程序集里面找不到的Newtonsoft.Json,所以它就拿从系统盘里面预装的旧版的来用,结果就报版本错误了. 解决方案: web.config  的  ...

  4. C89_一些函数

    C89 string.h 中的函数: 复制函数 memcpy memmove strcpy strncpy 串接函数 strcat strncat 比较函数 memcmp strcmp strcoll ...

  5. socket编程之accept()函数【转载】

    名称 accept() 接收一个套接字中已建立的连接 使用格式 #include <sys/types.h> #include <sys/socket.h> int accep ...

  6. Docker Container的概述

    ·通过Image创建(copy) ·在Image layer之上建立一个container layer(可读写) ·类比对象:类和实例(Image相当于抽象的一个类,Container相当于实例化的一 ...

  7. js和css兼容问题

    (一)html部分 1.H5新标签在IE9以下的浏览器识别 <!--[if lt IE 9]>  <script type="text/javascript" s ...

  8. wpf里窗体嵌入winform控件被覆盖问题

      问题1:嵌套Winform控件(ZedGraph)在WPF的ScrollViewer控件上,出现滚动条,无论如何设置该Winform控件都在顶层,滚动滚动条会覆盖其他WPF控件. 解决办法:在Sc ...

  9. 『cs231n』作业3问题2选讲_通过代码理解LSTM网络

    LSTM神经元行为分析 LSTM 公式可以描述如下: itftotgtctht=sigmoid(Wixxt+Wihht−1+bi)=sigmoid(Wfxxt+Wfhht−1+bf)=sigmoid( ...

  10. 『科学计算_理论』优化算法:梯度下降法&牛顿法

    梯度下降法 梯度下降法用来求解目标函数的极值.这个极值是给定模型给定数据之后在参数空间中搜索找到的.迭代过程为: 可以看出,梯度下降法更新参数的方式为目标函数在当前参数取值下的梯度值,前面再加上一个步 ...