Ubuntu 搭建Ghost1.0博客系统
最近想使用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博客系统的更多相关文章
- 基于Ubuntu 搭建 WordPress 个人博客 - 开发者实验室 - 腾讯云
1.准备 LAMP 环境 安装 Apache2 在终端输入该命令 ,使用 apt-get 安装 Apache2: sudo apt-get install apache2 -y 安装好后,您可以通过访 ...
- Mac下搭建hexo3.0博客
Mac下搭建hexo3.0博客(文章同步自个人博客站点以及Github博客https://xingstarx.github.io/) window环境下搭建hexo博客 详细内容能够參考这一篇文章怎样 ...
- 讲解开源项目:5分钟搭建私人Java博客系统
本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目.示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出的< ...
- 从零开始搭建solo个人博客系统
目录 1.博客系统的搭建流程 2.服务器选购 2.1阿里云学生主机 2.2普通云主机 3.域名购买与备案(可选) 3.1域名购买 3.2域名服务器备案 3.3域名服务器解析 4.solo安装 4.1 ...
- LIGHTX-CMS —— 基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客系统
概述 LIGHTX-CMS 是我基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客发布系统. 项目本身可以拿来部署个人博客网站,同时我认为其也适合用以新手学习 Node ...
- 基于ubuntu搭建 WordPress 个人博客
系统要求:Ubuntu 16.04.1 LTS 64 位操作系统 准备 LAMP 环境:(LAMP 是 Linux.Apache.MySQL 和 PHP 的缩写,是 Wordpress 系统依赖的基础 ...
- docker 搭建一个wordpress 博客系统(4)
安装lnmp ()下载镜像 [root@server ~]# docker pull mysql:latest #下载mysql镜像 [root@server ~]# docker pull rich ...
- 欢迎阅读daxnet的新博客:一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统
2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为"希赛网" ...
- 一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统
2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为“希赛网”)个人空间发布过一些 ...
随机推荐
- UVa 12108 特别困的学生
https://vjudge.net/problem/UVA-12108 题意:给出n个学生的“清醒—睡眠”周期和初始时间点,每个学生在睡眠时需要判断全班睡觉人数是否严格大于清醒人数,否则在坚持一个清 ...
- Java DateUtil,日期整理
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...
- 软件测试&安全测试高峰论坛
Nubia测试以及介绍 基于Cucumber的自动化测试平台 常见Web漏洞之XSS,主要HTML与JS基础.XSS的基础知识与挖掘方法.XSS的利用 自动化测试框架以及测试思路
- 【Python】【上下文管理器】
"""#[备注]#1⃣️try :仅当try块中没有异常抛出时才运行else块.#2⃣️for:仅当for循环运行完毕(即for循环没有被break语句终止)才运行els ...
- Cocos2d-x学习笔记(九)场景切换
这里只介绍两个简单的两个场景相互切换的方法. void pushScene(Scene *sn)和void popScene(Scene *sn)是一对.前者将当前场景放入到场景堆栈中,并切换到下一个 ...
- python 获取格式化时间
#!/usr/bin/python # -*- coding: UTF- -*- import time localtime = time.asctime( time.localtime(time.t ...
- docker运行python3.6+flask小记
docker新手. 目的:开发运行多个web api项目的时候,方便开发,兼顾部署. 方案大概这样: 1 隔离:系统运行在容器里,1容器只起1进程,代替在host起多个venv或虚拟机: 2调试和备份 ...
- Codeforces 913C - Party Lemonade
913C - Party Lemonade 思路:对于第i个话费cost[i],取min(cost[i],2*cost[i-1]),从前往后更新,这样就可以保证第n个的话费的性价比最高,那么从最高位开 ...
- codeforces 1042d//Petya and Array// Codeforces Round #510 (Div. 2)
题意:给出一个数组,求其中和小于t的区间数. 先计算前缀和数组sum[i].对当前的sum[i],查询树状数组中有几个比(sum[i]-t)大的数,那么用sum[i]减它就是一个合法区间.再将当前的s ...
- 49 DOM(2)
一.value属性: input ,select 标签 ,textarea 标签中有value属性, 获取他们属性值的方法,先获取该元素ele,然后ele.value得到value值. <!DO ...