侧边栏壁纸
博主头像
SPARK`极客笔录

路漫漫其修远兮,吾将上下而求索

  • 累计撰写 36 篇文章
  • 累计创建 5 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

服务器上安装 Ghost博客系统

Spark
2024-12-25 / 0 评论 / 1 点赞 / 12 阅读 / 0 字

本文要解决的问题:在服务器上安装 Ghost 博客软件,并通过 Web Server 设置反向代理的方式进行发布,涉及的系统环境和工具有:

  • CentOS 7.1

  • Ghost 0.7

  • Nginx

1 安装

1.1安装 Nginx

更新 CentOS 软件,安装开发工具包、Vim 和 wget:

yum update -y
yum groupinstall -y "Development Tools"
yum install -y vim wget

首先我们安装Nginx启动HTTP服务器,安装成功后输入你的网站IP就可以看到“Welcome to Nginx!”。

编辑Nginx的仓储地址。输入:
vim /etc/yum.repos.d/nginx.repo
接着按键盘上的 “S” 便于用vim编辑内容,把下面的内容粘贴进去。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
编辑完成,按下 Esc,输入 :wq! 回车退出。 现在,用 yum 自动下载安装。

sudo yum install nginx -y
sudo service nginx start
sudo chkconfig nginx on

NOTE: 在 CentOS 7 执行上述操作时会出现提示。应该使用 /bin/systemctl start nginx.service和systemctl enable nginx.service 来开启Nginx服务器。

1.2 安装 Node.js

方法一: 下载源代码后执行编译和安装。缺点:编译程序往往要消耗很多时间。

从官方仓库获得最新的 Node.js 源代码包:

wget http://nodejs.org/dist/node-latest.tar.gz
tar -xzf node-latest.tar.gz
cd node-v*

编译和安装 Node.js:

./configure
make
sudo make install

完成后我们可以通过 node -v 和 npm -v 命令来检查 Node.js 的版本。

方法二:从网络仓库下载已经编译完成的安装包。

首先添加仓库:

curl -sL https://rpm.nodesource.com/setup | bash -

```
直接下载安装 Nodejs:

yum install -y nodejs


分别用 node -v 和 npm -v 检查 Node.js 的版本。两种方法的最终效果都一样哟!

安装 Ghost

创建一个文件夹,用来放置网站文件和 Ghost 博客程序。

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


从官方网站下载最新版本的 Ghost(ghost-latest.zip):

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


解压:

unzip -d ghost ghost-latest.zip


进入 Ghost 安装目录:

cd /var/www/ghost


执行安装命令,安装 Ghost:

sudo npm install --production


安装完成后用 npm start 命令启动开发者模式下的 Ghost,用于检查有没有安装成功。 成功了,Ghost会运行在本地局域网内 127.0.0.1:2368。如果是在电脑上安装的,用浏览器访问此地址即可预览 Ghost。

2 配置

2.1 以生产模式运行 Ghost

但是要部署,我们不能让其运行在开发模式。需要让其运行在生产模式,且当其运行进程退出时自动重启。因此我们可以使用强大的进程守护程序“pm2”达到此目的。(也可以使用Forever)
• 进入到刚才的Ghost安装目录,执行下面的命令安装PM2:

sudo npm install pm2 -g


• 我们要设置环境变量为“production”生产模式!“index.js”是程序启动的入口。最后给这个pm2的进程命名为"ghost" 于是,执行下面的命令:

NODE_ENV=production pm2 start index.js --name "ghost"


• 让PM2知道在开机后自动运行我们的网站:

pm2 startup centos
pm2 save


• 其他操作:

pm2 kill ghost # 清除所有ghost进程
pm2 <start|stop|restart> ghost # 启动|停止|重启ghost进程
pm2 startup <centos|ubuntu|amazon> # 让pm2能够在这3个系统上自动启动


至此,pm2 已经可以守护 Ghost 博客永远在线。

2.2配置 Nginx 的反向代理

前面,如果你已经安装好了 Nginx。 新建一个 Nginx 代理配置文件,并将代理指向到本地的Ghost端口:
sudo vim /etc/nginx/conf.d/ghost.conf
先按下 S 键,再将如下内容拷贝到到新文件中。注意将 My-Domain-Name.com 改成你要设置的网址。在编辑完成后,按下 Esc,输入 :wq! 回车退出。

 server {
   listen 80;
   server_name My-Ghost-Blog.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 服务器,让设置生效。(这里针对 CentOS 7 使用 sudo /bin/systemctl restart nginx.service)

sudo service nginx restart


PS: 关键的工作都已做完了! 你的博客程序能够跟随操作系统自动运行了。

1

评论区