【问题标题】:Which port should I be using when using express on cPanel?在 cPanel 上使用 express 时应该使用哪个端口?
【发布时间】:2020-11-03 01:09:50
【问题描述】:

我一直在尝试在 cPanel 上使用 nodeJS,但我似乎只能访问通过“vanilla”nodeJS 发送的页面。

默认的 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();

但是,像这样的简单快速代码不起作用:

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

app.get('/', (req, res) => {
  res.send('Hello world');
});

const port = process.env.PORT || 3000;
http.listen(port, () => console.log(`listening on port ${port}`));

服务器将记录它正在侦听,但转到与之前相同的页面(并添加:3000)会导致 404。

端口也回落到 3000,因此未设置 process.env.PORT。这让我觉得可能是端口问题。

我尝试在 .htaccess 文件中重定向端口,但没有成功。

有谁知道为什么标准快递代码不起作用/我应该使用哪个端口?

【问题讨论】:

    标签: javascript node.js express cpanel


    【解决方案1】:

    您可能需要通过.htaccess配置端口。

    RewriteEngine On
    RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]
    

    XXXX 是您想要的端口。

    【讨论】:

    • 我应该在问题中提到,但我已经尝试过了,但没有运气。 .htaccess 文件位于 node.js 应用程序的根目录中,它应该在其他任何地方吗?
    • 应该在www指向的目录下。换句话说,在您配置 nginx/apache 服务的路径中。
    • 我也尝试将其放入该文件夹(在同一个 .htaccess 文件中,乘客正在使用),但这会导致 503 错误。
    • 这意味着您的 .htaccess 文件中存在错误、拼写错误或其中的一般错误。
    猜你喜欢
    • 2022-12-07
    • 2014-04-21
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多