如何在生产

时间:2017-11-07 09:06:50

标签: node.js angular deployment

我有一个使用Angular 4和Node.js的应用程序,我使用angular-cli和nodemon在开发模式下运行。

显然Angular运行:4200和Node.js运行于:3000,我做了proxy.config.json/api请求重定向到:3000,如下所示:

{
  "/api/*":{
    "target":"http://localhost:3000",
    "secure":false,
    "logLevel":"debug"
  }
}

我使用我在package.json中定义的两个脚本运行项目:

"server": "nodemon server/server.js --watch server",
"dev": "ng serve --proxy-config proxy.config.json"

现在我想要完成生产模式并在VPS上部署我的应用程序。在VPS上运行此应用程序的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

1。 Node.js部署

使用Apache服务器,您可以使用LocationReverseProxy公开Node.js API:

/etc/apache2/site-availables/your-project.conf(在<VirtualHost:.80>块上,例如DocumentRoot之后):

  ProxyRequests Off
  ProxyPreserveHost On
  ProxyVia Full
  <Proxy *>
    Require all granted
  </Proxy>
  <Location /api>
    ProxyPass http://127.0.0.1:3000
    ProxyPassReverse http://1127.0.0.1:3000
  </Location>

然后您可以使用pm2将Node.js应用程序保存在后台: How To Set Up a Node.js Application for Production on Ubuntu 16.04

2。角度部署

对于Angular项目,只需为生产环境构建它:ng build --prod (--aot)

在服务器上传输生成的文件,并将VirtualHost指向它。