将我的node.js应用程序从Github部署到VPS

问题描述 投票:0回答:2

我在 Github 上有一个 node.js 应用程序。我以前从未做过任何 VPS 部署,我正在不断学习。

我使用的是 Hostinger.in 的 VPS,所使用的操作系统是 Ubuntu 14.04。到目前为止,这就是我所做的:

  1. 从我的终端成功连接到他们的 SSH
  2. 在服务器上安装了node.js [https://www.hostinger.com/tutorials/vps/how-to-install-node-js-on-ubuntu]
  3. 在服务器上安装 Git [https://www.hostinger.com/tutorials/how-to-install-git-on-ubuntu]

我找不到任何在线资源来将我的node.js部署到Hostinger VPS,所以我遵循为DigitalOcean编写的资源。

我遵循的一个教程是这样的:https://code.tutsplus.com/tutorials/setting-up-continuous-integration-continuous-deployment-with-jenkins--cms-21511

我克隆了我的存储库:

git clone https://github.com/myusername/node-project.git

它似乎已部署(没有给我任何错误)。 我在服务器上进行的所有安装都是以 root/admin 用户身份进行的。到目前为止,我还没有创建任何单独的用户来执行任何这些任务。

给我的服务器主机名是dangerous-pigs.com。现在我假设我的 node.js 应用程序已部署,但是当我访问angerous-pigs.com 时,它显示服务器未找到错误。

我还为我的节点应用程序和运行时永久安装了

forever start app.js

它说:

warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file: app.js
error:   Cannot start forever
error:   script /root/app.js does not exist.

这意味着该应用程序要么未安装,要么安装在根文件夹以外的位置。

发生了很多事情,我很困惑从哪里开始解决问题。

如何部署应用程序以在危险的pigs.com上运行它?

更新

所以看来我必须进入根目录的项目文件夹并执行

npm install --production

之后我就这么做了

node app.js

服务器似乎正在运行,但是,如果我对服务提供的实际 IP 进行操作,我只能访问我的应用程序。

因此,如果我输入 http://93.188.163.249:8000 --> 这就是我的应用程序。

如何将其更改为指向域?

node.js git ubuntu vps digital-ocean
2个回答
0
投票

经过更多研究后,我发现:

目前默认情况下 Apache2 在端口 80 上运行。要首先在端口 80 上运行 Nodejs,我需要在我的 Ubuntu 服务器中安装 libcap2-bin,方法是:

sudo apt-get install libcap2-bin

之后我会做

sudo setcap cap_net_bind_service=+ep /usr/bin/nodejs

如果您有 Mac,则上述命令有效,对于 Windows,该命令 maybe

sudo setcap cap_net_bind_service=+ep /usr/local/bin/node

但请在操作前确认。

在进行这些更改之前,您的 Nodejs 服务器需要停止,否则它将无法工作。就我而言,我忘记停止我的节点服务器并继续运行 sudo setcap 命令,但它没有更改端口(出于明显的原因)。

如果您使用forever来运行节点,那么请执行以下操作:

forever stopall

0
投票

查看我的文章https://blog.knovik.com/node-auto-deploy-github-actions/

我解释了每个步骤,包括详细的分步指南

© www.soinside.com 2019 - 2024. All rights reserved.