首页 >web前端 >前端问答 >ghost nodejs 部署

ghost nodejs 部署

WBOY
WBOY原创
2023-05-18 10:29:38741浏览

随着 Node.js 变得越来越流行,越来越多的开发者开始使用它来创建后端应用程序。Ghost 是一个基于 Node.js 的开源博客平台,它使用了许多流行的 Node.js 技术和库来帮助用户创建美观而功能丰富的博客。

本文将向您展示如何在 Ghost 上托管一个 Node.js 应用程序,以及如何为其配置自定义域名和 SSL 证书。

步骤 1:选择云服务器

首先,您需要选择一款云服务器来托管 Ghost 应用程序。市场上有许多云服务器提供商,如 AWS、DigitalOcean 和 Linode 等。本文将以 DigitalOcean 为例进行说明。

步骤 2:创建虚拟机

在 DigitalOcean 上创建一个虚拟机很简单。按照以下步骤操作:

  1. 登录您的 DigitalOcean 帐户。
  2. 在控制台页面上,单击“Create Droplet”。
  3. 选择您的操作系统、计费计划和数据中心位置。在这个例子中,我们将选择 Ubuntu 18.04、Standard、SFO2。
  4. 选择您的 SSH 密钥或创建一个新的 SSH 密钥。
  5. 点击“Create Droplet”按钮。

DigitalOcean 将会为您创建并启动一个全新的虚拟机。

步骤 3:安装 Node.js 和 Ghost

一旦您的虚拟机处于活动状态,您可以使用 SSH 连接到该虚拟机并安装 Node.js 和 Ghost。

  1. 使用 SSH 登录您的虚拟机。
  2. 更新软件包列表并升级所有已安装的软件包:

    sudo apt update
    sudo apt upgrade
  3. 安装 Node.js:

    curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    sudo apt-get install -y nodejs
  4. 下载 Ghost 并解压:

    curl -L https://ghost.org/zip/ghost-latest.zip -o ghost-latest.zip
    unzip -uo ghost-latest.zip -d ghost
  5. 在 Ghost 目录中安装依赖项:

    cd ghost
    npm install --production
  6. 运行 Ghost:

    npm start --production

如果一切正常的话,您可以在浏览器中输入服务器的 IP 地址 Ghost 的默认端口 2368,查看出现了 Ghost 的安装页面。

步骤 4:配置自定义域名和 SSL 证书

默认情况下,Ghost 服务器只能通过 IP 地址访问。如果您想为 Ghost 应用程序配置自定义域名和 SSL 证书,则必须执行以下步骤。

  1. 安装 Nginx 作为 Ghost 的反向代理服务器。

    sudo apt-get install nginx
  2. 创建 Nginx 配置文件:

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

    然后,输入以下内容:

    server {
        listen 80;
        listen [::]:80;
        server_name your_domain.com;
    
        location / {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_pass http://127.0.0.1:2368;
        }
    }

    这个配置文件将允许 Nginx 作为 Ghost 的网关。请注意将 your_domain.com 替换为您自己的域名。

  3. 使 Nginx 知道该配置文件的存在:

    sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
  4. 重新启动 Nginx 服务:

    sudo service nginx restart
  5. 下载 SSL 证书

    1. 使用 Letsencrypt Certbot 来申请证书。在您的 SSH 终端中,运行以下命令:

      sudo apt install certbot python3-certbot-nginx
    2. 然后,启用该证书:

      sudo certbot --nginx

      该命令将使用 Nginx 配置文件中指定的域名来给您的 Ghost 应用程序生成 SSL 证书。

  6. 启用 HTTPS

    一旦您的 SSL 证书启用并验证成功,您就可以配置 Ghost 应用程序只在 HTTPS 上运行。

    1. 先关闭 Ghost:

      npm stop --production
    2. 打开 Ghost 配置文件 config.production.json。
    3. 在“server”部分中添加以下内容:

      "url": "https://your_domain.com",
      "server": {
          "port": 2368,
          "host": "127.0.0.1"
      },
      "ssl": {
          "force": true
      }
    4. 重新启动 Ghost:

      npm start --production

现在,您的 Ghost 应用程序已经在自定义域名和 HTTPS 上运行。

结论

恭喜!通过本文的介绍,您已经知道了如何在 Ghost 上托管一个 Node.js 应用程序并配置自定义域名和 SSL 证书。这些步骤也可以用于托管任何其他的 Node.js 应用程序。

以上是ghost nodejs 部署的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn