我有一个旧的个人网站,工作正常,但重做它。我将repo克隆到我的AWS EC2实例,以便所有文件都替换为我的新网站。当我在localhost:8080上启动它时,该站点工作正常,但是当我在AWS上运行它时,它只显示HTML文件但不获取任何资源。这是我的server.js:
const express = require('express');
const app = express();
const engines = require('consolidate');
app.engine('html', engines.mustache);
app.set('view engine', 'html');
app.use('/public', express.static(__dirname + '/public'));
app.use('/vendor', express.static(__dirname + '/vendor'));
app.use('/img', express.static(__dirname + '/img'));
app.use('/css', express.static(__dirname + '/css'));
app.use('/js', express.static(__dirname + '/js'));
app.get("/", function(req,res){
res.render('index.html')
});
app.listen(3000, () => {
console.log('Server Started on http://localhost:3000');
console.log('Press CTRL + C to stop server');
});
服务器包含src文件夹中的所有内容,其中包含server.js,views(index.html),img(我的所有图像),css(css文件),js(js文件),vendor(某些插件)。
我已尝试在index.html中以下列方式访问我的资源:
<link href="../vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="../../vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="src/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
我做了首先合乎逻辑的事情,然后尝试了一切......但是没有什么对我有用。
当我将鼠标悬停在开发者控制台中的错误上时,我收到错误:
GET http://example.com/vendor/font-awesome/css/font-awesome.min.css
我确定我犯了一个小愚蠢的错误,但我已经尝试了好几个小时了。提前谢谢。
修改 还没有有用的回复,但我弄清楚问题是什么,只需要弄清楚如何解决它。
当我最初启动我的网站时,我使用了一个不断运行节点server.js的ubuntu进程(不记得哪个......这就是问题)。我终止了正在运行的旧进程,现在网站根本没有显示(虽然进展很好)。每次我杀死节点进程,它只是重新启动。现在我只需要弄清楚父流程是什么,不断启动它,杀死它,然后重新启动服务器。
编辑2
原来我使用pm2来保持运行。杀死了该进程并重新启动了服务器。