Подтвердить что ты не робот

Nginx не собирает сайт в разрешенных сайтах?

После более чем 10 часов исследований я не понял, почему это не работает! Я пытаюсь переместить мой localhost в папку с включенными сайтами, которая находится в /etc/nginx/sites -enabled/default.

Это символическая ссылка из папки, доступной для сайтов. При использовании следующей конфигурации я получаю "невозможно подключиться" с помощью localhost: 8080 как мой адрес

nginx.conf(/usr/local/nginx/conf/nginx.conf):

user  www-data;
worker_processes  2;

events {
    worker_connections  1024;
}


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

    sendfile        on;

    keepalive_timeout  65;

    include /etc/nginx/sites-enabled/*; 
}

доступны сайты (/etc/nginx/sites-available/default):

server {
  listen   8080;
  root /home/myusername/myown/customdirectory;
  index index.php index.html index.htm;
  server_name localhost;

    location / {
        try_files $uri $uri/ /index.html;
    }

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


    error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/www;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

Я могу заставить это работать, если я поставлю соответствующую информацию с сайтов на nginx.conf, я просто не могу понять, почему это не работает таким образом?

Спасибо!

4b9b3361

Ответ 1

У меня была та же проблема. Это произошло потому, что я случайно использовал относительный путь с символической ссылкой.

Вы уверены, что используете полные пути, например:

ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf

Ответ 2

Включить sites-available/default в sites-enabled/default. Для этого требуется только одна строка.

В sites-enabled/default (новая версия конфигурации?):

Кажется, что путь include относится к файлу, который включал его

include sites-available/default;

См. документацию include.


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

В sites-enabled/default (старая версия конфигурации?):

Кажется, что путь include относится к текущему файлу

../sites-available/default

Ответ 3

Изменение:

include /etc/nginx/sites-enabled/*; 

to

include /etc/nginx/sites-enabled/*.*; 

исправлена ​​проблема