Убунту 14.04. Схожу с ума, пытаясь обслуживать приложение на порту 80, используя nodejs/expressjs. Сначала я получил ошибку «Ошибка: прослушать EACCESS» (выход программы). Это было решено на моей локальной машине, запустив node как sudo.
Однако на моем хосте Linux даже sudo не будет преобладать, и я получаю «слушай EADDRINUSE» (программа завершает работу). Здесь expressjs является обратным проксированием с помощью nginx.
Порты с более высокими номерами не имеют проблем (например, по умолчанию 3000)
Сокращенная версия приложения узла:
var express = require('express');
var app = express();
var myPort = 80;
app.listen(port, function() {
console.log("listening on " + parseInt(myPort) + "...");
});
Конфигурация NGINX
server {
listen 80;
listen [::]:80;
server_name devjustice.com www.devjustice.com;
location / {
proxy_pass http://127.0.0.1:80;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
try_files $uri $uri/ =404;
}
Не могу хоть убей подумать, что уже занимает этот адрес? nginx обслуживает другие файлы конфигурации, но ничего (кажется?), что касается адреса обратной связи или использует то же доменное имя. Спасибо за любую помощь. Подобные проблемы затрагиваются в других сообщениях SO, но я не смог найти решение.