簡體   English   中英

nodejs應用程序在本地運行,但在部署時無法運行

[英]nodejs app works locally but not when deployed

我正在使用iisnode托管節點應用程序。 我實際上無法在我的域名下部署它。 這是帶有兩個不同起點的主文件。 未經注釋的代碼只是一個簡單的服務器,當通過我的域訪問時,它可以正常工作(因此iisnode正確映射和處理了節點應用程序)。 注釋的代碼是我正在處理的Express應用程序的入口點,當我從本地主機查看時,此代碼有效,但是當嘗試通過我的域進行訪問時,出現“無法獲取application.js”錯誤。

        var http = require('http');

        http.createServer(function (req, res) {
            res.writeHead(200, { 'Content-Type': 'text/plain' });
            res.end('Hello, world!');
        }).listen(process.env.PORT);

        //require('./app/init');
        //var server = require('./app/server');
        //module.exports = server.start(process.env.NODE_ENV);

這是我的server.js文件。 我認為這是一個路由問題,我用console.log函數代替了indexRoute函數,並且它永遠不會觸發。 但是我仍然不明白為什么這可以通過本地主機正常訪問,但不能在我的域下正常訪問。

        var express = require('express');
        var routes = require('./routes');
        var app = express();

        function createApplication(environment) {
            app.get('/', routes.indexRoute);

            app.listen(process.env.PORT);
            return app;
        }

        module.exports.start = createApplication;

如果有人感興趣,我可以為整個應用程序發送一個git鏈接。

通過添加“ 0.0.0.0”作為要監聽的參數,嘗試指定您要從所有IP地址(而不僅僅是本地主機)監聽。 還添加一個回調以查看發生了什么。

app.listen(process.env.PORT, '0.0.0.0', function(err) {
  console.log("Started listening on %s", app.url);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM