Назад | Перейти на главную страницу

Ubuntu + Nginx 127.0.0.1 работает, а localhost - нет

это странно, потому что у меня нет сообщений об ошибках.

У меня есть очень простой файл по умолчанию:

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

    root /var/www;
    index index.html index.htm index.php;

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

    access_log      /var/log/nginx/default.access_log;
    error_log       /var/log/nginx/default.error_log warn;

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to index.html
            try_files $uri $uri/ /index.html;
    }

    location /doc {
            root /usr/share;
            autoindex on;
            allow 127.0.0.1;
            deny all;
    }

    location /images {
            root /usr/share;
            autoindex off;
    }

Теперь, в оболочке,

ping localhost 

Это хорошо.

Однако в любом браузере выдает ошибку. Chrome, например, говорит: «Ой! Google Chrome не может найти локальный хост».

127.0.0.1, с другой стороны, работает в браузерах.

Может ты знаешь, где мне проверить на наличие ошибок? В / var / log и других файлах нет ничего чистого ....

Во-первых, ping полностью соответствует NGINX, вы можете проверить связь с любым сервером, который будет отвечать на запросы проверки связи, независимо от запущенных служб.

Проверьте;

curl -I -v http://127.0.0.1/ - Посмотрим, доступен ли сайт по локальному адресу

curl -I -v http://localhost/ - Посмотрим, доступен ли сайт по локальному имени хоста

curl -I -v http://serverhostname/ - Посмотрим, доступен ли сайт по имени хоста сервера

nslookup localhost - Убедитесь, что localhost разрешается до 127.0.0.1

Опубликуйте результат этого, и если у вас все еще есть проблемы, мы можем дать вам больше рекомендаций.

Спасибо всем! На самом деле nslookup не имеет значения, спасибо @Mark! Так что я попробовал

sudo ping localhost 

и получил правильный ответ.

Наконец chmod'ed / etc / hosts на 644 и теперь все работает. Хотя не уверен, что 644 - лучший вариант для chmod.

Другое дело, я понятия не имею, почему изначально разрешения на / etc / hosts мы

-rw------- 1 root root 278 2011-12-02 22:52 /etc/hosts

но сейчас это не имеет значения.