我已经成功地将我的nodejs后端和我的PostgreSQL数据库连接到我的ubuntu服务器。我还安装了nginx作为反向代理,当我访问浏览器上的公共ip地址时,它正在工作。
当我cd到包含我的index.js并执行sudo节点index.js的后端文件夹时:
我得到了
Server started on port 9000... Executing (default): SELECT 1+1 AS result Database Connected...
在我的IOS模拟器上,我的帖子和所有东西都被正确加载。
我的问题是,当我关闭node.js服务器并正确安装pm2和配置pm2时,当我试图
我正在构建一个nodejs,并将dotenv包设置为一个dev依赖项,以便将变量加载到开发人员本地机器上的process.env中。
请注意,当我登录时,我使用sudo -i作为root操作。
我的意图是,在部署期间,环境变量将在/etc/environment下的Ubuntu主机上设置,直接加载到进程中,然后应用程序就会运行该配置。
要做到这一点,我在server.js开头有一行
if(process.env.NODE_ENV === 'development') {
logger.info("Loading dotenv for development en
我有一种叫GitHub api的回购。api有两个分支:DEV和QA
我已经为DEV分支设置了一个工作流,并且工作正常。
这是DEV分支的工作流
# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-a
编辑--在尝试使用一个旧版本的节点(8.1.0)在我的机器上安装傀儡机之后,它会抛出相同的错误。因此,问题必须是,当连接到机器时,它没有在正确的节点版本中加载。那么,如何使用正确的node.js版本运行pm2后部署钩子呢?。
当我试图使用pm2部署部署我的web抓取应用程序时,我遇到了一个非常奇怪的错误。错误出现在pm2部署过程的pm2钩子中,这是yarn将各种包安装到我的远程计算机(Ubuntu18.04)时出现的。
错误如下所示:
....The rest of the yarn installation...
[4/4] Building fresh packages...
e
所以我在PM2和node-config上遇到了一些问题。每当我使用PM2运行我的应用程序时,我都会收到错误;FATAL: NODE_APP_INSTANCE value of '0' did not match any instance config file names.
我已经尝试了所有有文档记录的“修复”方法,比如创建一个default-0.json/js文件,在我的pm2配置中设置instance_var变量,甚至尝试设置一个实际的系统环境变量,但都不起作用。
我想知道有没有人有什么办法让我解决这个问题?
我使用来管理节点进程。目前,pm2重新启动节点进程,即使它干净地完成(使用退出代码0)。我不希望这种事发生。
相反,我只希望PM2在节点进程以代码!= 0退出时重新启动应用程序。
怎么做?
pm2日志可能很有用:
PM2 | App [xxx] with id [0] and pid [44797], exited with code [0] via signal [SIGINT]
PM2 | Starting execution sequence in -fork mode- for app name:xxx id:0
PM2 | App name:
我将一个项目移到一个活动服务器上,现在我需要像pm2或forever.js这样的东西来运行。
然而,两种命令似乎都不起作用.
forever.js
我运行了这个失败的命令(在一个活动的虚拟环境中):
# forever start scrapyrt -p 5003
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
我们在一台服务器上使用4个不同的快捷项目,从每个项目根目录运行pm2 start cmd来启动应用程序。
而使用ec2 Linux服务器,将端口3000、3001添加到入站规则中,运行良好,但无法通过3001访问API,并能在3000年底前访问API,会有什么问题呢?
相同的项目在3000上运行,但在3001中不运行,因此我们可以确认,我们的项目中没有错误。
在终端nodemon app上尝试过,它运行良好,但Postman没有访问它,得到了相同的错误:
Could not get any response
There was an error connecting to http://ec