在Google云端平台上部署MEAN.JS

我尝试在Google云端平台(也是KeystoneJS CMS)上部署MEAN.JS,但不起作用。 我在线使用命令行工具。

按顺序,我安装了Node.js,MongoDB,bower和grunt,然后我尝试部署MEAN.JS:

  • 安装Node.js: sudo apt-get install curl curl -sL https://deb.nodesource.com/setup | sudo bash - sudo apt-get install -y nodejs nodejs-legacy sudo apt-get install curl curl -sL https://deb.nodesource.com/setup | sudo bash - sudo apt-get install -y nodejs nodejs-legacy

  • 安装MongoDB: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list sudo apt-get update sudo apt-get install -y mongodb-org sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list sudo apt-get update sudo apt-get install -y mongodb-org

  • 安装bower et sudo npm install -g bower sudo npm install -g grunt-clisudo npm install -g bower sudo npm install -g grunt-cli

  • 安装MEAN.js: sudo npm install -g generator-meanjs mkdir mean cd mean yo meanjs grunt

这是命令行板上的结果:

Running "jshint:all" (jshint) task 53 files lint free. Running "csslint:all" (csslint) task 2 files lint free. Running "concurrent:default" (concurrent) task Running "watch" task Running "nodemon:dev" (nodemon) task Waiting... [nodemon] v1.2.1 [nodemon] to restart at any time, enter rs [nodemon] watching: app/views/ / . gruntfile.js server.js config/ / .js app/* /*.j s [nodemon] starting node --debug server.js debugger listening on port 5858 NODE_ENV is not defined! Using default development environment js-bson: Failed to load c++ bson extension, using pure JS version Failed to load c++ bson extension, using pure JS version MEAN.JS application started on port 3000

我可以定义NODE_ENVvariables(testing,开发,所有…),但它是同样的问题。


问题是 :
它应该工作,但我试图访问我的IP:端口(在这种情况下,146.148.113.68:3000):“此网页不可用”。
这是VM,包MEAN.JS的问题吗? 我有与KeystoneJS CMS相同的问题。

谢谢 !

你确定你的机器的端口是开放的吗? 在Compute Engine上部署应用程序时,必须编辑networking设置以允许自定义端口。 有容易的勾选选项允许HTTP和HTTPstream量,但对于自定义的端口,你将不得不添加端口设置。

本文档可能会有所帮助,但您可以随时在云控制台中find这些内容。

此外,现在Google Cloud Launcher也支持MEAN堆栈部署,同时兼顾MEAN.io和MEAN.js风格,简化了整个过程。

一切都看起来很好唯一要改变的是防火墙设置,它阻止了您的Web应用程序,VM或KeystoneJS CMS没有问题。 您需要更改传入和传出stream量的防火墙设置:

防火墙设置

您需要指定IP和端口号,我已经为所有testing目的临时授予所有端口的访问权限。

在这里输入图像描述

尝试其他服务来托pipe您的MEANJS Web应用程序。 Heroku: https: //www.heroku.com/ Nodejitsu: https ://www.nodejitsu.com/

如果它在这些平台上运行,那么问题就不在于你的云。