适用于 CentOS 7.3 系统搭建 Ghost 博客平台,网上大多教程都是把 CentOS 系统升级到最新==7.3版本==才安装 Ghost 的,而我们在一个网站上可能还搭建了其它环境==如:PHP==,种种原因不能升级系统,所以针对性地出一个在 7.3 版本下直接安装 Ghost 的教程。
亲测,没有出现任何问题,安装成功!(腾讯云 CentOS 7.3 系统)
安装步骤:
- 安装 Nginx
- 安装 Node.js
- 安装 Ghost
- 配置 Nginx 反向代理
- 安装 pm2 进程守护程序
开始
查看当前 CentOS 系统版本:
cat /etc/redhat-release
安装 Nginx
安装 Nginx 作为HTTP服务器,编辑 Nginx 的仓储地址:
vim /etc/yum.repos.d/nginx.repo
接着按一下键盘上的字母 “ i ”,把下面的内容粘贴进去。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
粘贴完成后,按一下 Esc 键,然后输入 :wq! ,按回车退出。
(注意“:”和“!”是英文输入法下的符号)
现在,用 yum 自动下载并安装 Nginx:
sudo yum install nginx -y
启动 Nginx ,并设置开机启动:
/bin/systemctl start nginx.service
systemctl enable nginx.service
可以通过 nginx -V
查看 Nginx 版本,将安装 Nginx 1.10 版本。
安装 Node.js
从网络仓库,以 RPM 方式安装 Node.js,能快速安装并节省很多时间,此时将安装 node.js v6.x版本,此版本是 Ghost 官方支持的,并会安装 npm 3.x。
安装开发工具包:
yum groupinstall 'Development Tools'
首先添加仓库:
curl -sL https://rpm.nodesource.com/setup_6.x | bash -
然后直接下载并安装:
yum -y install nodejs
如果因下载速度太慢而断线,请再次执行:
yum -y install nodejs
可以用 node -v
和 npm -v
命令查 Node.js 和 npm 的版本。
安装 Ghost
创建一个总文件夹,用来放置网站文件:
sudo mkdir -p /data/www/
cd /data/www/
从官方网站下载最新版本的 Ghost:
curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
解压到 flisoo 文件夹(如果你想安装 Ghost 到别的目录,可以修改flisoo名称):
unzip -d flisoo ghost.zip
cd /data/www/flisoo
配置 config.js文件,尚未运行 Ghost,不会有 config.js 文件,通过复制 config.example.js 创建一个:
sudo cp config.example.js config.js
然后打开它:
sudo vim config.js
先按一下字母 “i”,然后修改里面的http:/my-ghost-blog.com为你想要绑定的域名,编辑完成后,按一下 Esc键,再输入 :wq! 回车退出。
接下来可以执行安装了:
npm install --production
配置 Nginx 反向代理
新建一个 Nginx 代理文件,并将代理指向 Ghost 端口:
sudo vim /etc/nginx/conf.d/ghost.conf
先按一下字母 “i”,再将下面内容粘贴进去。注意将 flisoo.com www.flisoo.com 改成你上面想要绑定的域名。编辑完成后,按一下 Esc键,输入 :wq!,回车退出。
server {
listen 80;
server_name flisoo.com www.flisoo.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
}
重新启动 Nginx 服务器,让设置生效。
sudo /bin/systemctl restart nginx.service
安装 pm2 进程守护
Ghost 使用 npm start --production
命令启动。但这命令有一个缺点,当你关闭终端窗口或者 SSH 断开连接时,Ghost 就停止了。为了防止 Ghost 停止工作,我们需要安装“pm2”(也可以使用 Forever 或 Upstart)
我把 ghost 安装在/data/www/flisoo/目录里了,所以想在/data/www/目录下安装 pm2,这样通过入口设置,控制flisoo目录里的 Ghost 启动文件。
进入/data/www目录:
cd /data/www
安装PM2:
npm install pm2 -g
我们要设置环境变量为 “production” 生产模式!把“flisoo/index.js”作为程序启动的入口。最后给这个 pm2 的进程命名为"flisoo"于是,执行下面的命令:
NODE_ENV=production pm2 start flisoo/index.js --name "flisoo"
让PM2在开机后自动运行我们的网站:
pm2 startup centos
pm2 save
一些以后可能会用到的命令:
-
pm2 kill
(清除所有ghost进程) -
pm2 start flisoo
(启动ghost进程) -
pm2 stop flisoo
(停止ghost进程) -
pm2 restart flisoo
(重启ghost进程) -
pm2 startup centos
(让pm2能够在centos系统上自动启动)
注意:今后想要使用 pm2 命令,请进入cd /data/www
目录再执行命令。
服务器重启后 网站报:Nginx 502 错误,请刷新多几下浏览器即可。
至此,pm2 已经可以守护 Ghost 博客永远在线了。