云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu上搭建Ghost博客平台(Nginx)

在Ubuntu上搭建Ghost博客平台(Nginx)

2017-10-20 14:47:22作者:Linux编辑稿源:topspeedsnail

Ghost是开源的轻量级(大约7.5M)的博客系统。它非常易用并且定制化程度高,在网上有很多Ghost的主题。

下面我们在Ubuntu上搭建Ghost博客网站,我们用Nginx做为服务器代理,forever,一个node包,让Ghost在后台运行。

 

第一步、安装node.js和npm

在安装软件包前更新软件包索引:

sudo apt-get update

安装zip和wget:

sudo aptitude install zip wget

使用PPA安装node.js和npm:

$ sudo apt-get install build-essential

$ curl -sL https://deb.nodesource.com/setup | sudo bash -

$ sudo apt-get install nodejs

安装完成之后使用下面命令查看nodejs版本(读Ghost README.md看支持node版本):

node -v

查看npm版本:

npm -v

 

第二步、安装Ghost

下载地址:https://ghost.org/

现在安装Ghost,Ghost官网推荐把Ghost安装在目录var/www/ghost,那我们就安装在这个目录。

首先创建/var/www/目录,然后下载Ghost的最新稳定版本:

sudo mkdir -p /var/www/

cd /var/www/

sudo wget https://ghost.org/zip/ghost-latest.zip

解压zip压缩包:

sudo unzip -d ghost ghost-latest.zip

cd ghost/

现在安装Ghost依赖和node模块(只安装生产环境依赖):

sudo npm install --production

到这为止,Ghost安装完成。但是在启动之前还要配置Ghost。

 

第三步、配置Ghost

Ghost的配置文件是/var/www/ghost/config.js。这个文件是不存在的,需要手动创建。幸运的是,Ghost提供了一个配置模板文件config.example.js。

创建config.js:

sudo cp config.example.js config.js

编辑config.js:

sudo vim config.js

在production块中,RUL和mail是最重要的信息。url改为你的域名,host改为0.0.0.0:

在Ubuntu上搭建Ghost博客平台(Nginx)

设置mail是防止忘记密码。

配置完成之后使用如下命令启动Ghost:

sudo npm start  // 开发模式

// 或

sudo npm start --production  // 生产模式

如果没有问题,你就可以用2368端口访问网了, http://your_domain._name:2368(或 http://your_servers_ip:2368)。

在Ubuntu上搭建Ghost博客平台(Nginx)

CTRL-C停止Ghost。

 

第四步、安装配置Nginx

上面使用的是2368访问博客,为了能使用80端口访问网站我们使用Nginx做端口代理。Nginx也提供了更好的灵活性和扩展性。

安装Nginx:

sudo apt-get install nginx

配置nginx:

删除/etc/nginx/sites-enabled:

cd /etc/nginx/

sudo rm sites-enabled/default

创建编辑/etc/nginx/sites-available/ghost:

sudo touch /etc/nginx/sites-available/ghost

sudo vim /etc/nginx/sites-available/ghost

把下面配置代码拷贝到ghost中,注意修改server_name为你的ip或域名:

server {

listen 80;

server_name your_domain/ip;

location / {

proxy_set_header   X-Real-IP $remote_addr;

proxy_set_header   Host      $http_host;

proxy_pass         http://127.0.0.1:2368;

}

}

创建到sites-enabled的链接:

sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

重启nginx:

sudo service nginx restart

下面我们创建一个新用户,这个用户只有访问/var/www/ghost目录的权限,这一步是为了安全。

sudo adduser --shell /bin/bash --gecos 'Ghost application' ghost

sudo chown -R ghost:ghost /var/www/ghost/

以ghost用户运行Ghost:

cd /var/www/ghost

su - ghost

npm start

现在你可以用http://your_domain._name(或 http://your_servers_ip)访问博客:

在Ubuntu上搭建Ghost博客平台(Nginx)

 

第五步、使用forever让Ghost在后台运行

forever是node的一个模块,用它来启动Ghost,并在Ghost意外退出时重新启动Ghost。

安装forever(/var/www/ghost目录),注意:安装之前退出ghost用户:

exit

sudo npm install -g forever

使用forever启动:

su - ghost

cd /var/www/ghost

forever start index.js

上面命令默认情况下使用的是Ghost开发模式,要使用生产模式命名如下:

NODE_ENV=production forever start index.js

停止Ghost:

forever stop index.js

 

相关主题

Ubuntu 16.04安装配置Nginx使用Let's Encrypt

精选文章
热门文章