很抱歉,如果这是一个基本问题,我仍然围绕着nodejs部署。我在nodejs上编写了一个应用程序,我想将其部署到生产环境中。到目前为止,为了测试目的,我使用了Express。但据我所知,Express是开发服务器而不是生产服务器。如何将nodejs应用程序部署到生产环境以及我应该使用的服务器是什么。另外,我有很多用于表达路由和中间件的代码,当我部署到另一台服务器时,它是如何工作的?
答案 0 :(得分:0)
使用express.js创建应用程序时,所有快速模块都已在package.json中指定,并将作为npm模块安装。
您只需在生产服务器上安装node.js,将代码放在那里,运行npm install
,然后使用NODE_ENV=production
参数启动Web服务器。如果您可以使用grunt或gulp来处理静态资产(js / css minification,...)以优化生产模式的性能,那将是一个加分。
有关详细信息,请参阅此处:https://expressjs.com/en/advanced/best-practice-performance.html
答案 1 :(得分:0)
您可以结合使用pm2和ExpressJs来在远程服务器上进行部署。基本上,pm2使您的代码在群集模式下的后台任务中永久运行。
基本上,您需要将文件放入远程服务器,并为pm2创建一个.json或yaml文件,以了解该过程。
然后,您应该通过npm install
安装库和模块。之后,您需要使用npm i -g pm2
在远程服务器上安装pm2。
所有这些都可以使用pm2的基本cli命令进行部署。 pm2 start process.yml --env=production
是部署的基本示例。您可以使用pm2 stop process.yml
停止任务。您也可以使用pm2 monit
进行系统监视。如果要查看日志,可以运行pm2 logs
。如果您想重新启动或更新:pm2 reload all
或pm2 update
有帮助。
对于远程服务器,可以使用云以获得最佳性能。您可以查看AWS,Azure,GCloud,Heroku或DigitalOcean的价格。他们提供免费套餐,您可以搜索它们。