Javascript 如何在ec2实例上托管节点js服务器
我正在尝试将一个完整的merncrud堆栈(我是mysql)部署到AWS。我已经成功地在RDS实例上托管了mysql数据库。我的下一步是将node/express服务器部署到AWS。我得到建议使用ec2来创建一个虚拟机,在这个虚拟机上托管这个节点后端。我已经成功创建了ec2实例。然而,我不知道如何进行。总而言之,我正在尝试使用ec2虚拟机在AWS上托管我的node/express服务器。我似乎无法理解接下来的步骤(在创建初始ec2实例之后)。 如果上下文有帮助,下面是我的node/express服务器。如果您能为我提供任何提示、资源、建议或知识,我将不胜感激Javascript 如何在ec2实例上托管节点js服务器,javascript,node.js,amazon-web-services,express,amazon-ec2,Javascript,Node.js,Amazon Web Services,Express,Amazon Ec2,我正在尝试将一个完整的merncrud堆栈(我是mysql)部署到AWS。我已经成功地在RDS实例上托管了mysql数据库。我的下一步是将node/express服务器部署到AWS。我得到建议使用ec2来创建一个虚拟机,在这个虚拟机上托管这个节点后端。我已经成功创建了ec2实例。然而,我不知道如何进行。总而言之,我正在尝试使用ec2虚拟机在AWS上托管我的node/express服务器。我似乎无法理解接下来的步骤(在创建初始ec2实例之后)。 如果上下文有帮助,下面是我的node/express
const express = require("express");
const mysql = require("mysql");
const cors = require("cors")
const formData = require("express-form-data");
var app = express();
app.use(cors());
app.use(formData.parse({maxFieldSize: '10mb'}));
var mysqlConnection = mysql.createConnection({
host: ****,
user: ****,
password: ****,
database: ****
})
mysqlConnection.connect((err) => {
if(err) {
throw err;
}
console.log("Connected to AWS!")
})
app.get('/', (request, response) => {
response.send('hello from /')
});
app.post('/createUser', function(req, res) {
console.log('/createUser')
console.log(req.body);
const createUser = `CALL CreateUser('${req.body.username}', '${req.body.password}',
'${req.body.firstName}')`;
mysqlConnection.query(createUser, (error, result) => {
if (error) {
console.log(error);
} else {
console.log('created user');
}
})
});
app.get('/signIn', function (request, response) {
console.log('in /signIn');
console.log(request.query);
var {username, password} = request.query;
console.log(username)
console.log(password)
var validateAccount = `CALL ValidateAccount('${username}', '${password}')`;
var test = `SELECT UserID FROM users WHERE Username = '${username}' AND Passcode =
'${password}'`;
mysqlConnection.query(validateAccount, (error, result) => {
if (error) {
console.log(error);
} else if (result[0] === undefined || result[0].length === 0) {
console.log('user does not exist');
} else {
console.log('user exists');
console.log(result[0][0].UserID);
response.status(200).json({
userID: result[0][0].UserID,
username: result[0][0].Username,
passcode: result[0][0].Passcode,
employmentStatus: result[0][0].EmploymentStatus
})
}
})
})
app.listen(5000, function() {
console.log("Listening on port 5000");
});
因为您已经创建了一个实例,所以它必须生成一个pem文件。所以我将告诉您生成.pem文件后的步骤
cmd
并导航到存储pem
文件的目录cmd
typessh-i file\u name.pem中ubuntu@publicIP
您可以在实例描述中找到公共IP非常感谢。这似乎是朝着正确方向迈出的一步。但是,当我运行您在第3行中提到的命令时,我得到了一个权限拒绝错误。有什么想法吗?你的操作系统是什么?我的操作系统是Windows以管理员身份运行命令提示符