我有一个Node&Express应用程序,当前托管在共享主机上。我想使用Phusion Passenger运行和管理该应用程序。我的托管帐户支持我从未使用过的由Passenger管理的nodejs应用程序。
设置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+'/');});
但是我得到了错误:
我目前正在使用 Forever 在共享服务器上运行服务器脚本,该脚本运行正常,但效率不高,所以我想切换到使用Passenger。