2016-12-06 9 views
-1

私はNode.jsについて学びたいと思っていますし、Lynda.comのガイドに従って簡単なNode.js pageをexpressとejsで書いています。私はAmazon AWSサーバー上でホストされたページを持っており、Nginxをインストールしています。私はノード・アプリケーションを実行しているときにIP:3000のページにアクセスできます。私はまた、サーバーIP /ポート3000にリダイレクトするためにいくつかの異なるガイドに従ってNginxを設定しました。しかし、IPでページにアクセスしようとすると/画像やCSSが表示されません。静的なNode.jsページのホスティング

Ruby on Railsを使用して過去にいくつかのウェブページを設定しましたが、これは開発対生産問題と仮定しています。私が見つけたほとんどのガイド/手順は、画像やCSSがなくても簡単なhello world appのためのNginxの設定を示しています。誰かが私がここでやろうとしていることを達成するための適切なリソースに私を導くことができますか?

編集:ここに私のapp.jsと私の二つの経路 app.js

var express = require('express'); 
var reload = require('reload'); 
var app = express(); 
var clientFile = require('./data/clients.json'); 
var instructionFile = require('./data/instructions.json'); 

app.set('port', process.env.PORT || 3000); 
app.set('clientData', clientFile); 
app.set('instructionData', instructionFile); 
app.set('view engine', 'ejs'); 
app.set('views', './views'); 

app.locals.siteTitle = 'Roux Meetups'; 

app.use(express.static('./public')); 
app.use(require('./routes/index')); 
app.use(require('./routes/instructions')); 

var server = app.listen(app.get('port'), function() { 
    console.log('Listening on port ' + app.get('port')); 
}); 

reload(server, app); 

var express = require('express'); 
var router = express.Router(); 

ルート1

router.get('/', function(req, res) { 
    var clients = req.app.get('clientData'); 
    var clientPhotos = clients.images; 
    var clientAddresses = clients.sites; 

    res.render('index', { 
    pageTitle: 'Home', 
    clients: clientPhotos, 
    sites: clientAddresses, 
    pageID: 'home' 
    }); 
}); 

module.exports = router; 

ルート2

var express = require('express'); 
var router = express.Router(); 

router.get('/instructions', function(req, res) { 
    var clients = req.app.get('clientData'); 
    var clientPhotos = clients.images; 
    var clientAddresses = clients.sites; 

    var instructions = req.app.get('instructionData'); 
    var instructPhotos = instructions.images; 

    res.render('instructions', { 
    pageTitle: 'Instructions', 
    clients: clientPhotos, 
    sites: clientAddresses, 
    instructs: instructPhotos, 
    pageID: 'instructions' 
    }); 
}); 

module.exports = router; 

は、私はまた、唯一の編集があります私の/ etc/nginx/sites-available/defaultを次のように入力してください。

server { 
listen 80 default_server; 
listen[::]:80 default_server; 

root /var/www/html; 

index index.html index.html index.nginx-devian.html; 

server_name _; 

location/{ 
    proxy_pass http://localhost:3000; 
    try_files $uri $uri/ = 404; 
} 
} 
+0

ブラウザで要素を調べましたか? photo cssの場所を確認し、\ –

+0

の問題を理解するか、このサーバー構成を試してください 'upstream nodejs { server localhost:3000; } サーバー{ listen 8080; server_name localhost; root〜/ workspace/test/app; 場所/ { try_files $ uri $ uri/@nodejs; } 場所@nodejs { proxy_redirect off; proxy_http_version 1.1; proxy_pass http:// nodejs; proxy_set_headerホスト$ホスト; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-for $ proxy_add_x_forwarded_for; } } ' –

+0

nginx設定のサーバー設定ですか?私がIP /:3000に行き、IP /に行き、nginxをポート3000にリダイレクトさせていないときに、相対的なイメージ/ CSSの位置がうまくいくのはなぜですか?私はこれがどのように一緒に働くのかを正確に理解しようとしていますが、何かキーが見当たりません。 – jawknee530

答えて

関連する問題