@gpetrov
web-программист

Почему Nginx может игнорировать настройки порта?

Добрый вечер! Долго искал причину проблемы, экспериментировал, но так и не нашел решения. Прошу помощи у опытных коллег)

На одном сервере (Debian 7) одновременно работает apache2 и nginx. Они работают параллельно и независимо друг от друга (не проксирование).

Проблема: nginx при запуске пытается цепляться на 80-й порт, который уже занят apache'м, хотя во всех известных мне конфигах, относящихся к nginx'у, 80-й порт заменен на другие.

В одном конфиге listen 8000, в другом listen 8009,
80-й порт отовсюду убрал, но при старте nginx пишет:

Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()


Вот конфиги:

default из /etc/nginx/sites-enabled

server {
        listen   8009; ## listen for ipv4; this line is default and implied
        listen   [::]:8009 default_server ipv6only=on; ## listen for ipv6

        root /usr/share/nginx/www;
        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name localhost;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ /index.html;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }

        location /doc/ {
                alias /usr/share/doc/;
                autoindex on;
                allow 127.0.0.1;
                allow ::1;
                deny all;
        }
}


/etc/nginx/sites-enabled/mysite_nginx.conf -
конфиг единстенного сайта, обслуживаемого nginx

# mysite_nginx.conf

upstream django {
    server unix:///var/www/django1/django1/mysite.sock; 
    #server 127.0.0.1:8001; 
}


server {

    listen      8000;

    server_name     XXX.XXX.XXX.XXX; 
    charset     utf-8;


    client_max_body_size 75M;  


    location /media  {
        alias /var/www/django1media;  
    }

    location /static {
        alias /var/www/django1static;  

    }


    location / {
        uwsgi_pass  django;
        include     /var/www/django1/django1/uwsgi_params; 
    }
}


В чём может быть проблема? Что и где поменять, чтобы nginx перестал пытаться стать на 80 порт, а следовал настройкам из конфигов? Заранее спасибо!)
  • Вопрос задан
  • 2392 просмотра
Решения вопроса 1
@lolowin32
удали файл default.save из /etc/nginx/sites-enabled, и впиши новые настройки в файл default, затем пробуй запустить
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@MustDie95
Посмотрите все директивы include из основного nginx.conf
Возможно они там не только из /etc/nginx/sites-enabled подключаются
Ответ написан
"Address already in use" т е порт занят. Если поставить в настройках например 8080 то все запуститься. Или посмотреть кто на 80м порту и отключить этот сервис
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы