我曾写过上一篇文章,但是,也许我有点过于模糊和/或不清楚,所以,我会尽力解释我到底想要什么,到目前为止我做了些什么。试图实现它:
我有一个非常简单的应用程序,我使用IDE WebStorm和MEAN堆栈开发。
我采取了一些步骤将其从我的localhost传递到Web(特别是AWS):
1)我在MongoLab中设置了一个MongoDB数据库,所以,我的#34;连接字符串"在代码中类似于:
var mongoose = require("mongoose");
mongoose.connect(" mongodb的:// USER:PASS@ds041643.mongolab.com:41643 / MYDB&#34);
所以,正如大家都看到的那样,我没有使用AWS提供的任何数据库服务,因为我认为它不应该是强制性的(我可能完全错了)。
2)显然,与服务器代码相关的所有路由和连接都来自:
" http://localhost:3000/ASAMPLEROUTE"简单地说:
" / ASAMPLEROUTE"
3)应用程序从侦听端口3000开始,侦听:process.env.PORT或静态更高端口,如:8080。
4)存储库中的文件夹结构对我来说是最复杂的:
服务器文件的名称必须是server.js,它必须存在于我的应用程序的根目录中。所有其他文件和/或文件夹,如负责使用RaphaelJS等库,连接到数据库或包含"前端"代码,可以按照我的意愿放在各自的位置?
例如,此存储库结构是否适合成功部署:
我需要的EXTRA STUFF:
1)github repo是私有的,因此,为了远程连接它,我需要一个SSH密钥对,可以在AWS控制台中生成并保存在您上面看到的同一文件夹中。这是必需的,因为repo是私有的,我们需要在没有密码问题的情况下访问它;
2)文件package.json - "确认"应用程序作为nodeJS之一,其中列出了所有依赖项,并指定了某些组件的启动脚本/特定版本。就我而言,它看起来像这样:
{
"name": "SSED",
"version": "0.0.0",
"dependencies": {
"body-parser": "~1.14.0",
"cors": "~2.7.1",
"express": "~4.13.3",
"grunt": "~0.4.5",
"nodemailer": "~0.6.5",
"mongoose": "~4.1.7",
"xmlbuilder": "~3.1.0"
},
"scripts" : {
"start" : "server.js"
},
"engines" : {
"node": "0.10.25"
},
"repository": {
"type": "git",
"url": "https://github.com/bruno-oliveira/SSDS_Deploy.git"
}
}
现在提出真正的问题:
亚马逊提供的服务:
问题1:我应该使用什么来完成此应用的部署;外部数据库和nodeJS服务器文件是否连续运行?
可能的答案: 我只看了2项服务:
1)EC2 - Amazon Elastic Compute Cloud;
2)OpsWorks(在管理工具下)服务,这对我来说似乎很好,因为它允许我让我的服务器运行或者我认为,但我从来没有让它工作;
问题2:是否可以从A CDN提供内容以在AWS平台中呈现CSS?
问题3:我曾与之合作过的同事设法使用此功能使CSS和AngularJS 100%正常运行:https://aws.amazon.com/marketplace/pp/B00GXYE87S 但是服务器文件无法在那里运行,即使我们将整个github repo下载到那里,安装nodeJS并运行典型的命令:
node server.js
括号中有一个带有(HVM)字样的版本,但我们不知道那是什么。
如果你能给我们一些提示,那将是非常有帮助的,特别是因为我们为此付出了代价,这是我们第一次使用这个,而且它是一个硕士论文由于十一月,所以我们看到我们的生活倒退了。
答案 0 :(得分:2)
问题到处都是,但我会尽力做到最好。
如果你能给我们一些提示......
我可以给你一些提示......
我们正在为此付出代价
您可以免费获得1年的AWS:https://aws.amazon.com/free/
我的感觉:只需在EC2上创建一个实例并部署所有服务,就像使用自己的本地主机一样。
您可以使用SSH命令行访问或某些远程桌面协议。
您还可以咨询Digital Ocean教程库:https://www.digitalocean.com/community/tags/node-js?type=tutorials
他们提供一键式部署节点应用程序,原则上我发现它们比AWS更容易使用。
从CDN传送内容以在AWS平台中呈现CSS?
天啊,为什么不呢。您只需引用静态CSS文件。我没有看到任何问题。
你真的需要CDN吗?似乎还有更多需要处理的问题。