![](/img/trans.png)
[英]Node/Mongo application crashes on Amazon EC2 and cannot access the server
[英]Cannot GET / Node JS Amazon EC2 server issues
在我的 app.js 文件中
app.listen(process.env.PORT || 8080, () => console.log(`Listening on port ${process.env.PORT || 8080}!`));
在我的 webpack.config.js 文件中
devServer: {
port: 3000,
open: true,
proxy: {
'/api': 'http://localhost:8080'
}
}
在我的 EC2 實例上的 /etc/nginx/sites-enabled/default 中
server {
listen 80;
server_name _;
location / {
proxy_pass http://[private ip]:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
編輯:完整的 app.js 文件
const app = express();
app.use(cors());
app.use(express.static('dist'));
app.listen(process.env.PORT || 8080, () => console.log(`Listening on port ${process.env.PORT || 8080}!`));
app.post('/api/[route]', async (req, res, next) => {
try {
const seq = await sequelize();
const file = await [...];
} catch (err) {
return next(err);
}
});
正確的配置是
server {
listen 80;
server_name _;
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
我相信我一開始就錯誤地安裝了 pm2,因為 nginx 服務器和 pm2 都試圖監聽端口 80。所以我重新安裝了所有東西,瞧,它現在可以工作了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.