随着 Node.js 变得越来越流行,越来越多的开发者开始使用它来创建后端应用程序。Ghost 是一个基于 Node.js 的开源博客平台,它使用了许多流行的 Node.js 技术和库来帮助用户创建美观而功能丰富的博客。
本文将向您展示如何在 Ghost 上托管一个 Node.js 应用程序,以及如何为其配置自定义域名和 SSL 证书。
步骤 1:选择云服务器
首先,您需要选择一款云服务器来托管 Ghost 应用程序。市场上有许多云服务器提供商,如 AWS、DigitalOcean 和 Linode 等。本文将以 DigitalOcean 为例进行说明。
步骤 2:创建虚拟机
在 DigitalOcean 上创建一个虚拟机很简单。按照以下步骤操作:
DigitalOcean 将会为您创建并启动一个全新的虚拟机。
步骤 3:安装 Node.js 和 Ghost
一旦您的虚拟机处于活动状态,您可以使用 SSH 连接到该虚拟机并安装 Node.js 和 Ghost。
更新软件包列表并升级所有已安装的软件包:
sudo apt update sudo apt upgrade
安装 Node.js:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt-get install -y nodejs
下载 Ghost 并解压:
curl -L https://ghost.org/zip/ghost-latest.zip -o ghost-latest.zip unzip -uo ghost-latest.zip -d ghost
在 Ghost 目录中安装依赖项:
cd ghost npm install --production
运行 Ghost:
npm start --production
如果一切正常的话,您可以在浏览器中输入服务器的 IP 地址 Ghost 的默认端口 2368,查看出现了 Ghost 的安装页面。
步骤 4:配置自定义域名和 SSL 证书
默认情况下,Ghost 服务器只能通过 IP 地址访问。如果您想为 Ghost 应用程序配置自定义域名和 SSL 证书,则必须执行以下步骤。
安装 Nginx 作为 Ghost 的反向代理服务器。
sudo apt-get install nginx
创建 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
替换为您自己的域名。
使 Nginx 知道该配置文件的存在:
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
重新启动 Nginx 服务:
sudo service nginx restart
下载 SSL 证书
使用 Letsencrypt Certbot 来申请证书。在您的 SSH 终端中,运行以下命令:
sudo apt install certbot python3-certbot-nginx
然后,启用该证书:
sudo certbot --nginx
该命令将使用 Nginx 配置文件中指定的域名来给您的 Ghost 应用程序生成 SSL 证书。
启用 HTTPS
一旦您的 SSL 证书启用并验证成功,您就可以配置 Ghost 应用程序只在 HTTPS 上运行。
先关闭 Ghost:
npm stop --production
在“server”部分中添加以下内容:
"url": "https://your_domain.com", "server": { "port": 2368, "host": "127.0.0.1" }, "ssl": { "force": true }
重新启动 Ghost:
npm start --production
现在,您的 Ghost 应用程序已经在自定义域名和 HTTPS 上运行。
结论
恭喜!通过本文的介绍,您已经知道了如何在 Ghost 上托管一个 Node.js 应用程序并配置自定义域名和 SSL 证书。这些步骤也可以用于托管任何其他的 Node.js 应用程序。
以上是ghost nodejs 部署的详细内容。更多信息请关注PHP中文网其他相关文章!