为了熟悉节点,AWS和Web托管,我决定创建一个托管在节点/快速服务器上的简单Web应用程序,然后尝试在AWS实例上托管它。
我的应用程序在我的机器上本地运行,这是server.js代码:
import express from 'express';
import path from 'path';
import open from 'open';
import config from '../webpack.config.dev';
import webpack from 'webpack';
const port = 80;
const app = express();
const compiler =webpack(config);
app.use(express.static('dist'))
app.use(require('webpack-dev-middleware')(compiler,{
noInfo: true,
publicPath: config.output.publicPath
}));
app.get('/', function(req, res){
res.sendFile(path.join(__dirname, '../src/index.html'));
});
app.listen(port, function(err){
if(err){
console.log(err);
}else{
open('http://localhost:' + port);
}
});
但是当我尝试在AWS实例上部署并运行它时,我似乎无法访问正在运行的节点服务器,
以下是我遵循的步骤:
npm start
但是当我使用浏览器访问公共DNS时,我找不到网站
不确定我在这里做错了什么。
答案 0 :(得分:0)
您正在localhost中部署,在您的监听功能中,您应该输入类似的内容:
app.listen(port, function(err){
if(err){
console.log(err);
}else{
open('http://0.0.0.0:' + port);
}
});
也不要忘记使用所有权限运行它(通常端口80需要更多权限,如root)