如何在共享的A2hosting上启动expressjs?

时间:2019-10-29 11:00:43

标签: javascript node.js express

我搜索了很多东西,但似乎无法启动Express js应用。我得到的只是404错误。

具有http服务器的默认app.js文件,它可以正常工作。

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

这是无法正常工作的快速js代码。给我404错误。

var express = require('express');
var app = express();
var http = require('http');
var server = http.createServer(app);
server.listen();

我也尝试了几种其他组合方式。

var express = require('express');
var app = express();
app.get('/', (req, res) => res.send('Hello World!'));
var http = require('http');
var server = http.createServer(app);
server.listen();

这也没用

var express = require('express');
var app = express();
var http = require('http');
var server = http.createServer(app);
app.get('/', (req, res) => res.send('Hello World!'));
server.listen();

我还尝试了expressjs创建它自己的服务器,但是它也不起作用。

const express = require('express');
const app = express();
const port = 80;
app.get('/', (req, res) => res.send('Hello World!'));
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

我还试图从应用程序监听中删除端口,并不奇怪,它也无法正常工作。

const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('Hello World!'));
app.listen();

我也尝试了express-js-app-listen-vs-server-listen页上的所有内容,但均未成功。

这是我得到的错误

Expressjs 404

1 个答案:

答案 0 :(得分:0)

对于其他存在相同A2托管问题的用户,该解决方案实际上非常简单...

应用程序在cPanel上运行NodeJS部署的问题。 Phusion Passenger不会将根路径用作“ /”,而用作“ / yourAppURL”。因此,在您的NodeJS代码中,使用Express时必须将指定的AppURLPath添加到调用中。

例如

HttpPostedFileBase