Как обслуживать приложение Nodejs & Express с помощью Phusion Passanger - PullRequest
0 голосов
/ 21 марта 2020

У меня есть приложение узла & express, которое в настоящее время размещено на общем хостинге. Я хочу запустить приложение и управлять им с помощью Phusion Passenger. Моя учетная запись хостинга поддерживает nodejs приложений, управляемых Passenger, которые я никогда ранее не использовал.

enter image description here

Код сервера, сгенерированный при настройке приложения Node, настройка сервера basi c, как показано ниже.

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();

Я хотел бы заменить это кодом ниже, содержащим элементы express, которые я использую для обслуживания моих маршрутов API.

//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.

1 Ответ

0 голосов
/ 17 апреля 2020

Можете ли вы установить NODE_ENV=development, а затем снова просмотреть свою страницу? Скорее всего, он выдаст гораздо больше информации, почему он выдает ошибку.

Получив информацию об ошибке, мы сможем лучше понять, что может быть не так.

Спасибо, Мар c

...