2013-12-08 73 views
0

我一直在Web服務器和本地web服務器上獲取502到我的所有樣式表和圖片。我不知道我做錯了什麼?我必須在生產網絡服務器上點擊3次才能正確加載所有資源。任何幫助?我的頁面上確實有很大的圖片,但我認爲他們不會造成問題。繼續在nodejs服務器上收到502錯誤

這些都是生產服務器

Connection:keep-alive 
Content-Encoding:gzip 
Content-Type:text/html; charset=utf-8 
Date:Sun, 08 Dec 2013 07:47:55 GMT 
Server:nginx 
Transfer-Encoding:chunked 
Vary:Accept-Encoding 
X-Powered-By:Express 

這是我的節點app.js我的響應頭。

var pagejs= '../routes'; 
var express = require('express') 
    , home = require(pagejs) 
    , user = require(pagejs+'/user') 
    , http = require('http') 
    , path = require('path') 
    , events = require(pagejs+'/events') 
    , contact= require(pagejs+'/contact') 
    , abouttedx = require(pagejs+'/about') 
    , sponsor = require(pagejs+'/sponsors') 
    , gzippo = require('gzippo'); 

var app = express(); 

function viewConfig(app){ 
    app.set('views', __dirname + './../views'); 
    app.set('view engine', 'jade'); 

    //app.use(express.favicon()); 
    app.use(express.favicon(path.join(__dirname + './../public/images/favicon.ico'))); 
    app.use(express.logger('dev')); 
//app.use(express.bodyParser()); 
    app.use(express.json()); 
    app.use(express.urlencoded()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    //app.set('view options', {layout: false }); 
    //app.use(express.static(path.join(__dirname, './../public'))); 
    app.use(gzippo.staticGzip(path.join(__dirname, './../public'))); 
    app.use(gzippo.compress()); 
    app.set('port', process.env.PORT || 9000); 
} 

app.configure('production', function(){ 
    viewConfig(app); 
}); 

app.configure('development', function(){ 
    app.use(express.errorHandler()); 
    viewConfig(app); 
}); 

app.get('/', home.index); 
app.get('/users', user.list); 
app.get('/events', events.eventspage); 
app.get('/about', abouttedx.aboutpage); 
app.get('/sponsor', sponsor.sponsorpage); 
app.get('/contact', contact.contactuspage); 


http.createServer(app).listen(app.get('port'), function(){ 
    console.log("Express server listening on port " + app.get('port')); 
}); 
+0

我認爲問題在於你的nginx配置。你可以分享你如何配置nginx與節點服務器交談嗎? – vmx

+0

我沒有在nginx服務器上配置任何東西。 – ravi

+0

您帖子中包含的標題表明您的節點服務器在nginx後面被代理。看起來像其他人管理生產設置,閱讀有關nginx +節點設置,谷歌是你最好的朋友!我相信你可以自己弄清楚,讓我們知道你是否面臨任何問題。 – vmx

回答

0

我假設myapp.com是我們正在試圖建立Web應用程序。

檢查您的服務器配置/etc/nginx/sites-enabled/myapp.com。適應它類似於此;

server { 
    server_name myapp.com; 

    # set nginx root to public dir of your express server 
    root /var/www/myapp/releases/current/public/; 

    index index.html index.htm; 

    access_log /var/log/nginx/myapp.access.log; 
    error_log /var/log/nginx/myapp.error.log; 

    location ~ ^/(js|css|images|media|system)/ { 
    autoindex off; 
    add_header Cache-Control public; 
    expires 4w; 
    } 

    location/{ 
    try_files $uri $uri/index.html @proxy; 
    } 

    location @proxy { 
    # set proxy pass to your node server 
    proxy_pass http://127.0.0.1:3000; 
    } 
} 

測試nginx配置和重載;

sudo nginx -t 
sudo nginx -s reload 

現在nginx會收到您的請求並將其代理到您的節點服務器。讓我知道這是否適合你。如果它仍然不起作用,你可以分享你的nginx配置。

+0

在我的生產服務器中,它不會讓我訪問更改文件或添加文件。有沒有一種方法可以包含像nginx中的公共文件夾中的文件.htaccess來配置? – ravi

+0

除非您有權更改nginx配置,否則這將很難解決。我不知道如何在這裏幫助你。 – vmx

相關問題