У меня есть приложение узла & express, которое в настоящее время размещено на общем хостинге. Я хочу запустить приложение и управлять им с помощью Phusion Passenger. Моя учетная запись хостинга поддерживает nodejs приложений, управляемых Passenger, которые я никогда ранее не использовал.
Код сервера, сгенерированный при настройке приложения 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+'/');});
но я получаю сообщение об ошибке:
В настоящее время я выполняю свой сценарий сервера на общем сервере, используя Forever , который работает нормально, но неэффективно, поэтому я хотел бы перейти на использование Passenger.