Какой порт мне следует использовать при использовании express на cPanel? - PullRequest
0 голосов
/ 13 июля 2020

Я пытался использовать nodeJS на cPanel, но я могу получить доступ только к страницам, отправленным через 'vanilla' nodeJS.

Приложение по умолчанию. 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();

Однако простой express код вроде этого не работает:

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.

Кто-нибудь знает, почему стандартный код express не работает / какой порт я должен использовать?

1 Ответ

0 голосов
/ 13 июля 2020

Возможно, вам потребуется настроить порт через .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 - ваш желаемый порт.

...