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

nginx игнорирует мою директиву включения?

Сейчас я перехожу с Apache на nginx. У меня есть несколько доменов, которые будут размещены на одном компьютере с одним IP-адресом. Хотя я настроил nginx --prefix=/my/path Кажется, что nginx не включает мои файлы конфигурации vhost.

Мой текущий nginx.conf выглядит так:

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

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;

    # Don't show server version.
    server_tokens off;

    index index.html index.htm index.php;

    # Default server
    server {
        listen          81 default;
        server_name     _;
        access_log      logs/access.log main;
        server_name_in_redirect  off;
        root  html;
    }

    ## Load virtual host conf files. ##
    include conf/vhosts/*/*.conf; # config/vhosts/domain.com/domain.conf ; subodmain.conf and etc

}

И это единственный конфиг vhost, который у меня есть в config / vhosts / domain.com / domain.com.conf:

server {
    listen          81;
    server_name     domain.com;
    access_log      logs/domain.com.access.log main;

    root            "/www/domain.com/htdocs";
    index           index.html;
}

Я также попытался установить абсолютный путь к файлу конфигурации, но это тоже не сработало. Все запросы попадают на сервер по умолчанию. Однако если вы вставите содержимое conf/vhosts/domain.com/domain.com.conf в conf/nginx.conf http{} домен работает нормально.

Я уже пару часов пытаюсь понять это, но, кажется, я что-то делаю не так?

На данный момент ответ выше неверен. Согласно документам:

nginx использует только абсолютные пути, все относительные пути в файлах конфигурации относятся к --prefix == PATH.

http://wiki.nginx.org/CoreModule

Как указано в документации.

Начиная с версии 0.6.7, пути указаны относительно каталога файла конфигурации nginx nginx.conf, а не каталога префиксов nginx.

Если вы убедитесь, что путь указан относительно файла конфигурации nginx, он все еще не работает?