如何使用Phusion Passanger服务Nodejs&Express应用

问题描述 投票:0回答:1

我有一个Node&Express应用程序,当前托管在共享主机上。我想使用Phusion Passenger运行和管理应用程序。我的托管帐户支持我从未使用过的由Passenger管理的nodejs应用程序。

enter image description here

[设置Node应用程序时生成的服务器代码是下面的基本服务器设置。

var http = require('http');
var server = http.createServer(function(req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    var message = 'It works!\n',
    version = 'NodeJS ' + process.versions.node + '\n',
    response = [message, version].join('\n');
    res.end(response);
});
server.listen();

我想用下面的代码替换它,该代码包含我用于服务我的API路由的express元素。

//import modules
var express = require('express'),
    bodyParser = require('body-parser'),
    morgan = require('morgan'),
    cors = require('cors');
    path = require('path');

var app = express();
var port = process.env.PORT || 3000;

//import database connection from dbconnect.js file
var mysql = require('./dbconnect/dbconnect');

//Parse as urlencoded and json.
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());

//adding middleware - cors
app.use(cors());

//Http logger
app.use(morgan('dev'));

//Uncomment for production
//app.use(express.static(__dirname + '/public'));

// Point static path to public
app.use(express.static(path.join(__dirname, 'public')));

//import routes from /routes/routes.js
var user = require('./routes/Users');  
    route = require('./routes/route');
    router = require('./router/router');
//adding routes
app.use('/api', user, route, router);

// Catch all other routes and return the index file
app.get('/*', (req, res) => { res.sendFile(path.join(__dirname, '/public/index.html'));
});

app.use(function (req,res,next){
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "x-access-token, Origin, Content-Type, Accept");
    next();
});

app.listen(port, function() {console.log('Server started at http://localhost:'+port+'/');});

但我得到错误:

enter image description here

我目前正在使用Forever在共享服务器上运行服务器脚本,该脚本工作正常,但效率不高,所以我想切换到使用Passenger。

node.js express passenger forever
1个回答
0
投票

您是否可以设置NODE_ENV=development,然后再次查看您的页面?它可能会输出更多的信息,为什么会引发错误。

有了错误信息,我们可以更好地了解可能出了什么问题。

谢谢,马克

© www.soinside.com 2019 - 2024. All rights reserved.