无法在AWS上将node_modules作为静态提供

时间:2017-03-11 02:36:41

标签: node.js amazon-web-services express amazon-ec2

我在AWS Linux机器上托管了我的节点应用程序。我的代码在openshift上完美运行,其服务node_modules为静态访问我的angular.But在AWS主机中它没有。

var app = express();
app.use('/bower_components/', express.static(__dirname + '/node_modules/'));
var server = app.listen(app.get('port'), app.get('ipaddress'), function() {
// server.maxConnections = 2;
  console.log('Express server listening on port ' + server.address().port);
});

我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

经过长时间的重新搜索,我发现了一个必须从nginx转发到nodejs的解决方案,nginx会在节点导出时为它们提供服务。

我在/etc/nginx/sites-available/my-site

上添加了我的网站配置
server {
listen 80;

server_name mysite.com;

location / {
    proxy_pass http://APP_PRIVATE_IP_ADDRESS: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;
    }
}

希望这有助于解决这个问题的人。