在Ubuntu/Debian主机上安装Ghost
Step 1 安装 Node 和 NPM
目前 Ghost 最高支持到 Node 4.X
1 | curl -sL https://deb.nodesource.com/setup_4.x | bash - |
Step 2 安装 Ghost
下载最新的 Ghost 发行版,并解压到
/var/www/ghost
(推荐)
1 | mkdir /var/www |
安装依赖的 node 模块 1
npm install --production
Step 3 安装 MySQL 数据库
如果用自带的 SQLite,可以跳过这些步骤 1
apt-get install mysql-server mysql-client
为 Ghost 创建 Database 和用户 1
mysql -uroot -p
1
2
3create user 'ghost'@'localhost' identified by 'ghost';
create database ghost;
grant all privileges on ghost.* to 'ghost'@'localhost' identified by 'ghost';
最后改一下 Ghost 的配置文件,让它使用 MySQL 而不是默认的 SQLite,(部分)如下所示
1 | production: { |
Step 4 安全设置
添加 Ghost 专用的用户(不然就要用 root 运行了)
1 | adduser --gecos 'Ghost application' --no-create-home --shell /usr/sbin/nologin ghost |
把刚刚的装好的 Ghost 目录以及所有内部文件的 owner 设为该用户
1 | chown -R ghost:ghost /var/www/ghost |
Step 5 设置 NGINX
安装 NGINX
1 | apt-get install nginx |
修改 /etc/nginx/sites-available/ghost
1 | server { |
把 /etc/nginx/sites-enabled
里的文件(默认只有一个
default
)删掉,然后创建上述文件的符号连接
1 | cd /etc/nginx/ |
重启 NGINX 使设置生效 1
service nginx restart
Step 6 设置 Supervisor
Supervisor 是一个进程控制系统,允许在启动的时候无需初始化脚本就能运行 Ghost
1 | apt-get install supervisor |
新建配置文件 /etc/supervisor/conf.d/ghost.conf
如下
1
2
3
4
5
6
7
8
9[program:ghost]
command = node /var/www/ghost/index.js
directory = /var/www/ghost
user = ghost
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/ghost.log
stderr_logfile = /var/log/supervisor/ghost_err.log
environment = NODE_ENV="production"
重启 Supervisor 使配置生效 1
service supervisor restart