我几周前开始学习node.js,刚刚完成了我的第一个小项目,一个使用socket.io和express的基本在线聊天网站。我项目的结构如下所示:
ChatApp
|
|____backend.js // node server side code
|
|____ static
| |
| |_____ libs
| |
| |___ app.js // front end logic
| |
| |___ jquery.min.js
|____ views
|
|_____ index.html // Client website
我现在的目标是学习如何使用AWS使我的应用程序可用,这样不同机器上的人就可以互相交流,而不仅仅是我本地服务器上的人。我尝试使用使用Elastic Beanstalk来部署示例存储库的this guide,但我很难看到如何将其转换为我的文件夹结构,因为他们甚至没有HTML实例
我的服务器代码如下所示:
//*****************//
// Sets up backend //
//*****************//
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var express = require('express');
server.listen(8080);
app.use(express.static(__dirname + '/views'));
app.use(express.static(__dirname + '/static'));
var users = [];
//*****************//
// Sends out html //
//*****************//
app.get('/', function(req, res){ // Main page
res.render('index.html');
});
//*************************//
// Handles socket requests //
//*************************//
io.on("connection", handleIO); // Called when user connects
function handleIO(socket){
console.log('Client connected...');
// Bunch of socket.io code I didn't think was necessary to add
}
无论如何,我想知道你们中任何一个开明的人是否可以通过部署他的第一个网站来帮助一个菜鸟。如果您可以给我一个大纲或指向我,我真的很感激,因为AWS在首次开始时可能非常令人生畏。感谢。
答案 0 :(得分:1)
我想说直接进入亚马逊网络服务将是一个错误,因为AWS只是数百万个可以作为云管理员执行的任务的抽象层。
如果您没有服务器管理的基本概念或没有以类似的能力工作,那么它可能会适得其反。
如果你愿意跳跃,我建议采取以下步骤:
如果它有帮助,EC2只是一个具有shell访问权限的VPC,您可以通过命令行使用它,就像通常的桌面Linux一样。
答案 1 :(得分:1)
Boxfuse允许您在项目目录中的两个步骤中轻松地将Node.js应用程序部署到AWS:
npm install -g npm-bundle
安装)Boxfuse基于3个原则:Immutable Infrastructure,Minimal Images和蓝/绿部署,零停机时间。
Boxfuse还提供对自动扩展,关系数据库以及VirtualBox上的快速本地开发和测试的开箱即用支持。
我们有一个教程,您可以在5分钟内开始使用该教程:https://boxfuse.com/getstarted/nodejs
免责声明:我是Boxfuse的创始人兼首席执行官
答案 2 :(得分:0)
从AWS文档开始,在AWS上获得一个免费帐户,让你的手变脏。让事情破坏并再次修复它们,这就是你将如何学习AWS。
关于学习材料 1. AWS DOCS 2.在youtube上重新发送视频 3.购买一个Pluralsite帐户,他们有很好的课程。
从Ec2和VPC开始