图片 7

Node.js 是用于开拓服务器端应用程序的开源的运作时环境。Node.js 应用使用
JavaScript 编写,能在别的有 Node.js 运营时的服务器上运转。它跨平台扶助Linux、Windows、OSX、IBM AIX,也囊括 FreeBSD。Node.js 是 Ryan Dahl
以至在 Joyent 专门的学业的别的开荒者于 2009年创立的。它的安顿指标就是营造可扩展的互连网应用程序。

有关安顿Node.js意况并搭建Ghost博客系统的详细教程:

Ghost 是接收 Node.js
编写的博客平台。它不但开源,何况有很雅观的界面设计、对客户自身何况免费。它同意你急迅地在网络上宣布内容,或许创制你的混合网址。

 【云总计的1024种耍法】第7招:安排Node.js蒙受并搭建Ghost博客系统

图片 1

前言

在这里篇指南开中学大家会在 FreeBSD 上安装使用 Nginx 作为 web 服务器的
Ghost。大家会在 FreeBSD 10.2 上设置 Node.js、Npm、nginx 和 sqlite3。

Ghost 1.0
是二个比较强的更新,带来了全新的编辑器、全新的后台UI、新的私下认可核心以至晚间格局等等。同一时候Ghost 1.0。配套的还大概有 Ghost-cli
一个百般有力方便的工具,能够更方便的通过命令行设置
Nginx、Mysql、SQlite3或然开机运转等等。 但是 Ghost 1.0
的装置方式也带来了十分大的创新,和往来的本子现已今非昔比了。

第一步 – 安装 Node.js npm 和 Sqlite3

倘诺您想在您的服务器上运行 ghost,你必得安装
node.js。在此一部分,我们会从 freebsd 移植软件库中安装
node.js,请进入库目录 “/usr/ports/www/node” 并经过运转命令 “make
安装。

cd /usr/ports/www/node
make install clean

假定你曾经设置了 node.js,那就进去到 npm 目录并设置它。npm
是用于安装、发布和保管 node 程序的软件包微处理机。

cd /usr/ports/www/npm/
make install clean

下一步,安装 sqlite3。默许情形下 ghost 使用 sqlite3
作为数据库系统,但它也协理 mysql/mariadb 和 postgresql。我们会使用
sqlite3 作为暗许数据库。

cd /usr/ports/databases/sqlite3/
make install clean

即使设置完了具有软件,还应该有检查 node.js 和 npm 的本子:

node --version
v0.12.6

npm --version
2.11.3

sqlite3 --version
3.8.10.2

图片 2

教程

第二步 – 添加 Ghost 用户

大家会以平凡客商 “ghost” 身份安装和平运动转 ghost。用 “adduser”
命令增多新顾客:

adduser ghost
FILL With Your INFO

图片 3

学子客户能够在Ali云官方网站络海展览中心开课生表达后购销一定配备的ECS,仅需9.9元每月,学子客商没有须求思量花费过多用在服务器的标题。

第三步 – 安装 Ghost

小编们会把 ghost 安装到 “/var/www/
目录,首先新建目录然后踏入到安装目录:

mkdir -p /var/www/
cd /var/www/

用 wget 命令下载最新版本的 ghost:

wget --no-check-certificate https://ghost.org/zip/ghost-latest.zip

把它解压到 “ghost” 目录:

unzip -d ghost ghost-latest.zip

下一步,改良属主为 “ghost“,大家会以那个客户安装和运营它。

chown -R ghost:ghost ghost/

都做完了的话,通过输入以下命令切换成 “ghost” 用户:

su - ghost

然后步向到安装目录”/var/www/ghost/”:

cd /var/www/ghost/

在安装 ghost 从前,大家须求为 node.js 安装 sqlite3 模块,用 npm
命令安装:

setenv CXX c++ ; npm install sqlite3 --sqlite=/usr/local

瞩目: 以 “ghost” 客商运营,并非 root 客户。

方今,大家策动好安装 ghost 了,用 npm 命令安装:

npm install --production

下一步,复制配置文件 “config.example.js” 为 “config.js“,用 nano
编辑器编辑:

cp config.example.js config.js
nano -c config.js

转移 server 模块的第 25 行:

host: '0.0.0.0',

保留并脱离。

前段时间用下边包车型客车授命局转 ghost:

npm start --production

因此拜会服务器 ip 和 2368 号端口验证一下。

图片 4

以 “ghost” 客商在 “/var/www/ghost” 目录安装了 ghost。

学子顾客在通过学子注解之后就足以在连锁网站进行购买,网站为:https://promotion.aliyun.com/ntms/campus2017.html,

第四步 – 作为 FreeBSD 服务运转 Ghost

要在 freebsd 上以服务方式运行应用,你需求在 rc.d 目录加多脚本。我们会在
/usr/local/etc/rc.d/” 目录为 ghost 创设新的劳务脚本。

在缔造服务脚本早先,为了以劳动方式运营 ghost,我们须求安装二个 node.js
模块,用 npm 命令以 sudo/root 权限安装 forever 模块:

npm install forever -g

未来步入到 rc.d 目录并创建名称为 ghost 的新文件:

cd /usr/local/etc/rc.d/
nano -c ghost

粘贴下边包车型大巴劳动脚本:

#!/bin/sh

# PROVIDE: ghost
# KEYWORD: shutdown
PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"

. /etc/rc.subr

name="ghost"
rcvar="ghost_enable"
extra_commands="status"

load_rc_config ghost
: ${ghost_enable:="NO"}

status_cmd="ghost_status"
start_cmd="ghost_start"
stop_cmd="ghost_stop"
restart_cmd="ghost_restart"

ghost="/var/www/ghost"
log="/var/log/ghost/ghost.log"
ghost_start() {
sudo -u ghost sh -c "cd $ghost && NODE_ENV=production forever start -al $log index.js"
}

ghost_stop() {
sudo -u ghost sh -c "cd $ghost && NODE_ENV=production forever stop index.js"
}

ghost_status() {
sudo -u ghost sh -c "NODE_ENV=production forever list"
}

ghost_restart() {
ghost_stop;
ghost_start;
}

run_rc_command "$1"

保留并退出。

下一步,给 ghost 服务脚本加多可进行权限:

chmod +x ghost

为 ghost 日志创造新的目录和文书,并把属主校勘为 ghost 顾客:

mkdir -p /var/www/ghost/
touch /var/www/ghost/ghost.log
chown -R /var/www/ghost/

末尾,假若您想运转 ghost 服务,你须要用 sysrc 命令增加 ghost
服务到开机运维应用程序:

sysrc ghost_enable=yes

用以下命令运维 ghost:

service ghost start

任何命令:

service ghost stop
service ghost status
service ghost restart

图片 5

买好了服务器就足以去刚刚注册好的账号管理里的管控台去查看服务器以至它的一部分构造。

第五步 – 为 Ghost 安装和配备 Nginx

暗中同意意况下,ghost 会以单身情势运维,你能够毫无 Nginx、apache 或 IIS web
服务器直接运营它。但在此篇指南开中学大家会安装和布署 nginx 和 ghost
一齐行使。

用 pkg 命令从 freebsd 库中设置 nginx:

pkg install nginx

下一步,步向 nginx 配置目录并为 virtualhost 配置制造新的目录。

cd /usr/local/etc/nginx/
mkdir virtualhost/

跻身 virtualhost 目录,用 nano 编辑器成立名叫 ghost.conf 的新文件:

cd virtualhost/
nano -c ghost.conf

粘贴上边的 virtualhost 配置:

server {
listen 80;

#Your Domain
server_name ghost.me;

location ~* /.(?:ico|css|js|gif|jpe?g|png|ttf|woff)$ {
access_log off;
expires 30d;
add_header Pragma public;
add_header Cache-Control "public, mustrevalidate, proxy-revalidate";
proxy_pass http://127.0.0.1:2368;
}

location / {
add_header X-XSS-Protection "1; mode=block";
add_header Cache-Control "public, max-age=0";
add_header Content-Security-Policy "script-src 'self' ; font-src 'self' ; connect-src 'self' ; block-all-mixed-content; reflected-xss block; referrer no-referrer";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:2368;
}

location = /robots.txt { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; }

location ~ //.ht {
deny all;
}

}

封存并脱离。

要启用 virtualhost 配置,你须求把特别文件加多到 nginx.conf。进入nginx 配置目录并编写 nginx.conf 文件:

cd /usr/local/etc/nginx/
nano -c nginx.conf

在最终一行的日前,富含 virtualhost 配置目录:

[......]

include virtualhost/*.conf;

}

保存并退出。

用命令 “nginx -t” 测验 nginx 配置,若无错误,用 sysrc 增添 nginx
到开机运维:

sysrc nginx_enable=yes

并启动 nginx:

service nginx start

方今测验全体 nginx 和 virtualhost 配置。请展开你的浏览器并输入:
ghost.me

图片 6

Ghost.me 正在成功运营。

一旦您想要检查 nginx 服务器,可以使用 “curl” 命令。

图片 7

Ghost 正在 nginx 上运行。

2、计划调节软件

总结

Node.js 是 Ryan Dahl
为开创和支付可扩展服务器端应用程序创立的运作时景况。Ghost 是选用 node.js
编写的开源博客平台,它有精美的外观设计何况易于使用。默许景况下,ghost
是足以单独运转的 web 应用程序,并没有须要相通 apache、nginx 或 IIS 之类的
web 服务器,但我们也可以和 web 服务器集成(在这里篇指南开中学生运动用
Nginx)。Sqlite 是 ghost 默许使用的数据库,它还帮忙 msql/mariadb 和
postgresql。Ghost 能异常的快铺排何况易于使用和布置。

接下去我们需求在协调的Computer上安装多少个叫PuTTY的软件,用于远程连接和管理我们在Ali云ECS上的服务器。

PuTTY是一种远程登入终端工具,能够在分裂平台上运营,也得以同时在Win32 和
Unix 系统下模拟 xterm 终端。

那边附上下载地址:https://github.com/larryli/PuTTY/releases

在乎:在主机名称或IP地址那一栏填上Ali云ECS上服务器公网IP地址。

下一场安装FileZilla软件,一款相当好用的跨平台 FTP
软件,只供给在主机栏中声称 sftp:// 合同,就足以连接了,就足以看看远程
Linux 上的目录了。

下载地址:https://filezilla-project.org/download.php?type=client

课程切合于:Ubuntu 16.04/14.04 和 Debian 8/9,以数据库引擎为 SQLite3
为例。

纠正系统并设置重视

先更新系统并设置所须求的信任性:

apt-getupdate&& apt-getupgradeapt-getinstallapt-transport-https
lsb-releaseca-certificates unzip wget curl sudo sqlite3 nginx

安装 Node.js

此地以安装 Node.js V6 LTS 为例,近期 V8 还不被 Ghost 辅助因为还没有步入TLS 周期。

curl -sL bash –  apt-getinstall
nodejs

安装 Yarn

yarn 和 npm 同样是node.js的信赖安装软件,可是越来越火速、安全和保证。

curl -sS | sudo
apt-keyadd-echo”deb stable main”| tee
/etc/apt/sources.list.d/yarn.listapt-getupdate&& apt-getinstall yarn

应用天猫源

无论 yarn 依然 npm
的软件源都是在国外的,所以下载速度龟速可能根本下不动,幸而天猫商城有提供加速,能够让本国的服务器也加速体验。Npm使用天猫商城源:

npm–registry

Yarn使用天猫商城源:

yarn configsetregistry

admin

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注