Debian 8.x / Ubuntu 16.04.x 搭建 Ghost 教程
Ghost 是一款使用 Node.js 开发的博客系统,相对于使用 PHP 开发的 WordPress 更轻巧友好,所以本站已经从 WordPress 切换至 Ghost,本文介绍在 Debian 8.x 和 Ubuntu 16.04 下搭建 Ghost 的教程
本文所有操作均在 root 用户下进行,请自行切换
首先,更新系统
apt-get update && apt-get upgrade
如果您用的 Debian 8.x 开启了 backports 也可以更新下
apt-get -t jessie-backports update && apt-get -t jessie-backports upgrade
1、安装 Node.js 6.x LTS
由于系统自带的 Node.js 较老,这里我们采用 NodeSource 编译的 Node.js 源
Ubuntu 下
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install nodejs
Debian 下
curl -sL https://deb.nodesource.com/setup_6.x | bash -
apt-get install nodejs
2、安装 Nginx
Ubuntu 下可以用 PPA
Debian 下可以用 Dotdeb
然后安装 Nginx 以及一些必要的软件
apt-get install nginx unzip wget curl sudo sqlite3
3、下载 Ghost
这里我们演示把 Ghost 下载并解压在 /var/www/ghost 目录
cd /var/www/ && wget https://ghost.org/zip/ghost-latest.zip && unzip ghost-latest.zip -d ghost && rm -rf ghost-latest.zip
4、添加 ghost 用户并修改权限
useradd ghost
chown -R ghost:ghost /var/www/ghost
5、修改 config.js
cd /var/www/ghost
cp -r config.example.js config.js
接着就可以修改 config.js
按照实际情况,修改 config
段,举例如下
config = {
// ### Production
// When running Ghost in the wild, use the production environment.
// Configure your URL and mail settings here
production: {
url: 'http://example.com', //修改为你博客的域名,如需要启动 SSL 则改为 https
mail: {},
database: {
client: 'sqlite3',
connection: {
filename: path.join(__dirname, '/content/data/ghost.db')
},
debug: false
},
server: {
host: '127.0.0.1',
port: '2368'
}
},
如果需要后台发送邮件给用户,您可以配置 mail 参数,例如:
mail: {
transport: 'SMTP',
options: {
service: 'Mailgun',
auth: {
user: '', // mailgun username
pass: '' // mailgun password
}
}
},
Ghost 用的是 Nodemailer,如果您需要其他服务商的 service 名字,可以在官网文档里查看。
6、安装并启动 Ghost
cd /var/www/ghost
npm install --production
npm start --production
如果在 Ubuntu 16.04 下提示
Error: Cannot find module '/var/www/ghost/node_modules/sqlite3/lib/binding/node-v48-linux-x64/node_sqlite3.node'
则需要安装 nodejs 的 sqlite3
npm install sqlite3 --save
可以在本机上打开 http://127.0.0.1:2368/
查看在线版本
7、配置 Nginx
按 ctrl + c 停止 Ghost ,然后我们可以修改 Nginx 配置文件,举例如下
server {
listen 80;
listen [::]:80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:2368;
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 10m;
client_body_buffer_size 512k;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_hide_header X-Powered-By;
}
}
检查并重新加载 nginx
nginx -t
nginx -s reload
8、安装 PM2 使 Ghost 保持后台运行
PM2 是一款很流行的 Node.js 进程管理器,可以做到开机启动和重新关闭等操作
首先我们通过 npm 安装 PM2
cd /var/www/ghost
npm install pm2 -g
配置当前环境,并设置开启启动,然后保存
NODE_ENV=production pm2 start index.js --name ghost
pm2 startup
pm2 save
后续可能需要用到的命令有
启动 Ghost
pm2 start ghost
停止 Ghost
pm2 stop ghost
重启 Ghost
一般用于修改了主题文件或进程隔屁的情况
pm2 restart ghost
好了,大功告成,打开浏览器访问 http://example.com/ghost/
注册的第一个账号就是全站管理员,接着就可以开始 Ghost 的博客之旅了
扩展阅读
Debian 8.x / Ubuntu 16.04.x 搭建 Ghost 教程的更多相关文章
- Ubuntu 16.04安装Matlab 2016b教程
由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...
- Windows + Ubuntu 16.04 双系统安装详细教程
Windows + Ubuntu 16.04 双系统安装详细教程 2018年01月28日 16:43:19 flyyufenfei 阅读数:165619 发现了一篇好教程,果断转载了,以后用得着时 ...
- Ubuntu 16.04上搭建CDH5.16.1集群
本文参考自:<Ubuntu16.04上搭建CDH5.14集群> 1.准备三台(CDH默认配置为三台)安装Ubuntu 16.04.4 LTS系统的服务器,假设ip地址分布为 192.168 ...
- Ubuntu 16.04 LTS 搭建ftp服务器
其实我之前搭建好了,但是最近我上来看好像跟没搭建一样呢,于是我从新搭建一遍? 我的ubuntu版本: cat /etc/issue Ubuntu 16.04 LTS \n \l 1.安装vsftpd( ...
- Ubuntu 16.04 apt-get搭建LAMP环境
本文重点介绍在Ubuntu中使用apt-get安装LAMP(Ubuntu 16.04,Apache2.4.18,mysql5.7.12,php7.0.4)环境,所以不再介绍如何安装Ubuntu. 安装 ...
- Ubuntu 16.04下搭建kubernetes集群环境
简介 目前Kubernetes为Ubuntu提供的kube-up脚本,不支持15.10以及16.04这两个使用systemd作为init系统的版本. 这里详细介绍一下如何以非Docker方式在Ubun ...
- Vmvare + Ubuntu 16.04环境搭建 + 相关软件安装配置笔记【深度学习】
前言 由于学习与工作的需要,加上之前配置好的vmmachines都损坏了,我就重新弄一个ubuntu虚拟机,配置一下环境,给自己留个记录 1.文件 2.配置过程 1.在Vmware中新建虚拟机,自定义 ...
- Pycharm 4.5.4 for ubuntu 16.04 下载与安装教程
首先,我们需要有一台已经安装好 ubuntu 16.04 的操作系统,并且配置好java环境: 方法1: 默认安装 apt-get install default-jdk -y # 安装官网最新的ja ...
- 虚拟机安装Ubuntu 16.04系统实操教程 详尽步骤 vmware ESXi亲测通过
1 Ubuntu 16.04系统安装要求 Ubuntu 16.04 LTS下载最新版本的Ubuntu,适用于台式机和笔记本电脑. LTS代表长期支持,这意味着有五年免费安全和维护更新的保证. Ubun ...
随机推荐
- Linux-01
Linux各目录的作用 /bin/ 存放系统命令的目录,普通用户和超级用户都可以执行.不过放在/bin下的命令在单用户模式下也可以执行 /sbin/ 保存和系统环境设置相关的命令,只有超级用户可以使用 ...
- mysql 文件
慢查询日志 log_query_time 查询时间超过这个值则会出现在慢查询日志中,默认值是10 log_slow_queries 是否开启慢查询 log_queries_not_using_ind ...
- SQL0803问题 键值重复
工作中遇到SQL0803问题 使用DB2AS400数据库 报数据库键值重复错误 经同事分析为索引的起始值与当前已有记录的最大索引值不匹配造成的,验证过程如下: 1.SELECT max(被索引字段) ...
- 【python深入】map/reduce/lambda 内置函数的使用
python中的内置函数里面,有map和reduce两个方法,这两个方法可以非常好的去做一些事情,但是之前都没有用过,下面是关于这两个方法的介绍: 一.map相关 map()会根据提供的函数对指定的序 ...
- dotnet run 提示System.Net.Sockets.SocketException (10049): 在其上下文中,该请求的地址无效。
更换端口号试一下. 查看官方文档 PS: 使用帮助命令 -h,可以指定启动配置文件: dotnet run --launch-profile xxx 例如下面的配置文件,假如我们要使用codes-t ...
- python3 电脑说话
#coding:utf-8 import win32com.client spk = win32com.client.Dispatch("SAPI.SpVoice") spk.Sp ...
- python对mysql数据库的一些常用操作
import pymysql class OperationDatabase(): def __init__(self,Ip,User,PassWd,DBname): self.ip=Ip self. ...
- jQuery的load函数是异步的
今天使用load函数的时候,用它加载页面,再修改页面样式,但是没有成功,上网查了一下,原来是异步的,也就是说之后的代码不会等页面加载完再执行,有可能先执行,这就找不到元素了. 解决方法,利用load函 ...
- LR 11录制IE起不来
注:LR 11一般使用的是IE8或IE9 1.在录制脚本时Start Recoding中,默认如下,这样有可能IE打不开,需要更改路径,到对应的IE路径再尝试. 2.降低IE版本到IE8或者9 3.I ...
- Codeforces 524 解题报告
打的很快乐的一次比赛hiahiahia, 才A掉4题rating就涨了100+ 距离比赛\(3\)天了, 由于博主实在太颓, 又补掉了\(E\)题, 到现在才发解题报告 A. 语法题, 读入输出就行了 ...