Nginx показывает только приветственную страницу

Я пытаюсь создать простой виртуальный хост, обслуживающий только статические файлы. Проблема заключается в том, что управление браузером (в данном случае) jorum.dev отображает страницу приветствия по умолчанию nginx, а не jorum.dev/index.html.

Nginx был установлен с использованием Homebrew в Mac OS X Mountain Lion.

хозяева

127.0.0.1       jorum.dev

jorum.dev

server {
    listen          80;
    server_name     jorum.dev;

    location / {
        root        ~/Sites/jorum;
        index       index.html index.htm;
    }
}

nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    gzip            on;
    gzip_disable    "msie6";
    gzip_min_length 1100;
    gzip_vary       on;
    gzip_proxied    any;
    gzip_buffers    16 8k;
    gzip_types      text/plain text/css application/json application/x-javascript text/xml application/xml application/rss+xml text/javascript image/svg+xml application/x-font-ttf font/opentype application/vnd.ms-fontobject;

    server_tokens off;

    client_max_body_size    4096k;
    client_header_timeout   10;
    client_body_timeout     10;
    keepalive_timeout       10 10;
    send_timeout            10;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

Ответы

Ответ 2

пакет debian/ubuntu nginx поставляется с default sites-available, который принимает диспетчеризацию хоста по умолчанию. Просто удалите ссылку по умолчанию, и она должна загрузить ваш сайт.


еще один вопрос, пакет debian/ubuntu nginx также поставляется со значением индекса по умолчанию для сервера по умолчанию на сайте по умолчанию, который гласит:

index index.html index.htm index.nginx-debian.html;

У меня был файл index.nginx-debian.html, показанный в моем корневом каталоге www, который имел приоритет над местоположениями cgi.


В nginx есть подробный режим тестирования, который можно использовать для вывода всей конфигурации, проанализированной nginx, которую вы можете проверить на соответствие вашим ожиданиям.

nginx -T

Ответ 3

Для других людей, пришедших в этот поток и уже опрошенных @freestyler, но по-прежнему получая экран nginx по умолчанию, попробуйте переименовать файл default, расположенный в /etc/nginx/sites-available/, в нечто вроде default.txt. Я рекомендую не удалить файл, так как он поможет вам объяснить, что делать в следующем файле .conf.

Ответ 4

Для меня это было то, что я забыл привязать сайт к IPv6, и мой компьютер был подключен к IPv6.

Я просто добавил listen [::]:80; к объекту сервера, прежде чем у меня был только listen 80;.

Это заставило Nginx показывать сайт также, если соединения были сделаны с использованием IPv6.