Рейтинг:0

Nginx — виртуальный хост не работает должным образом

флаг gb

Я купил macOS Big Sur и пытаюсь установить на нее php + nginx, но у меня постоянно возникает проблема и я не могу правильно добавить свой домен. У меня есть эта конфигурация:

usr/local/etc/php/7.3/php-fpm.d/www.conf

; Запустите новый пул с именем «www».
; переменная $pool может использоваться в любой директиве и будет заменена на
; имя пула (здесь "www")
[www]

; Префикс для каждого пула
; Это применимо только к следующим директивам:
; - 'доступ.журнал'
; - 'медленно'
; - 'слушать' (unixsocket)
; - 'chroot'
; - 'чдир'
; - 'php_значения'
; - 'php_admin_values'
; Если он не установлен, вместо него применяется глобальный префикс (или /usr/local/Cellar/[email protected]/7.3.31).
; Примечание. Эта директива также может относиться к глобальному префиксу.
; Значение по умолчанию: нет
;префикс = /путь/к/пулам/$пул

; Пользователь/группа процессов Unix
; Примечание. Пользователь является обязательным. Если группа не задана, группа пользователя по умолчанию
; будет использован.
пользователь = pcyrkl01
группа = персонал

; Адрес, по которому можно принимать запросы FastCGI.
; Допустимые синтаксисы:
; 'ip.add.re.ss:port' - для прослушивания в сокете TCP определенного адреса IPv4 на
; конкретный порт;
; '[ip:6:addr:ess]:port' - для прослушивания TCP-сокета определенного IPv6-адреса на
; конкретный порт;
; 'port' - прослушивать TCP-сокет по всем адресам
; (сопоставление IPv6 и IPv4) на определенном порту;
; '/path/to/unix/socket' - для прослушивания сокета unix.
; Примечание. Это значение является обязательным.
слушать = 127.0.0.1:9073

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

Мой виртуальный хост для admin.local

сервер {

        # Для https
        слушать 443 ssl;
        слушать [::]:443 ssl;
        ssl_certificate /Users/pcyrkl01/ssl/default.crt;
        ssl_certificate_key /Users/pcyrkl01/ssl/default.key;

        имя_сервера admin.local;
        корень /Users/pcyrkl01/sites/admin.local/web_admin;
        индекс index.php index.html index.htm;

        место расположения / {
          try_files $uri @rewriteapp;
        }

        местоположение @rewriteapp {
            переписать ^(.*)$ /app_dev.php/$1 последним;
        }

        расположение ~ ^/(app|app_dev|config|index)\.php(/|$) {
            fastcgi_pass 127.0.0.1:9073;
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            включить fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            #исправляет тайм-ауты
            fastcgi_read_timeout 600;
            fastcgi_param HTTPS выключен;
        }

        расположение ~* \.(eot|ttf|woff|woff2)$ {
            add_header Access-Control-Allow-Origin *;
        }

        error_log /Users/pcyrkl01/web_log/symfony_error.log;
        access_log /Пользователи/pcyrkl01/web_log/symfony_access.log;
    }

локальный.бэкэнд

 сервер {
    
            # Для https
            слушать 443 ssl;
            слушать [::]:443 ssl;
            ssl_certificate /Users/pcyrkl01/ssl/default.crt;
            ssl_certificate_key /Users/pcyrkl01/ssl/default.key;
    
            имя_сервера admin.local;
            корень /Users/pcyrkl01/sites/admin.local/web;
            индекс index.php index.html index.htm;
    
            место расположения / {
              try_files $uri @rewriteapp;
            }
    
            местоположение @rewriteapp {
                переписать ^(.*)$ /app_dev.php/$1 последним;
            }
    
            расположение ~ ^/(app|app_dev|config|index)\.php(/|$) {
                fastcgi_pass 127.0.0.1:9073;
                fastcgi_split_path_info ^(.+\.php)(/.*)$;
                включить fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                #исправляет тайм-ауты
                fastcgi_read_timeout 600;
                fastcgi_param HTTPS выключен;
            }
    
            расположение ~* \.(eot|ttf|woff|woff2)$ {
                add_header Access-Control-Allow-Origin *;
            }
    
            error_log /Users/pcyrkl01/web_log/symfony_error.log;
            access_log /Пользователи/pcyrkl01/web_log/symfony_access.log;
        }

мой nginx.conf

#пользователь никто;
рабочие_процессы 1;

#error_log журналы/error.log;
#error_log журналы/уведомление об ошибках.log;
#error_log журналы/информация error.log;

#Журналы pid/nginx.pid;


События {
    worker_connections 1024;
}


http {
    включить 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"';

    #access_log logs/access.log main;

    отправить файл включен;
    #tcp_npush включен;

    #keepalive_timeout 0;
    keepalive_timeout 65;

    #gzip включен;

    сервер {
        слушать 80;
        имя_сервера локальный хост;

        #кодировка koi8-r;

        #access_log logs/host.access.log main;

        место расположения / {
            корень html;
            fastcgi_intercept_errors включен;
            fastcgi_pass 127.0.0.1:9073;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            # Опять же, вам может понадобиться изменить этот путь, он основан на установке brew.
            включить /usr/local/etc/nginx/fastcgi_params;
        }

        #error_page 404 /404.html;

        # перенаправить страницы ошибок сервера на статическую страницу /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        местоположение = /50x.html {
            корень html;
        }

        # проксировать PHP-скрипты для Apache, прослушивающего 127.0.0.1:80
        #
        #местоположение ~ \.php$ {
        # proxy_pass http://127.0.0.1;
        #}

        # передать PHP-скрипты серверу FastCGI, прослушивающему 127.0.0.1:9000
        #
        расположение ~ \.php$ {
           корень html;
            fastcgi_pass 127.0.0.1:9073;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
            включить fastcgi_params;
        }

        # запретить доступ к файлам .htaccess, если корневой каталог Apache
        # совпадает с nginx
        #
        #местоположение ~ /\.ht {
        # запретить все;
        #}
    }


    # еще один виртуальный хост, использующий сочетание IP-адреса, имени и конфигурации на основе порта
    #
    # сервер {
    # слушать 8000;
    # слушать имя:8080;
    # server_name псевдоним somename other.alias;

    #    место расположения / {
    # корень html;
    # индекс index.html index.htm;
    # }
    #}


    # HTTPS-сервер
    #
    # сервер {
    # слушать 443 ssl;
    # имя_сервера localhost;

    # ssl_certificate cert.pem;
    # ssl_certificate_key cert.key;

    # ssl_session_cache shared:SSL:1m;
    # ssl_session_timeout 5 м;

    # ssl_ciphers HIGH:!aNULL:!MD5;
    # ssl_prefer_server_ciphers on;

    #    место расположения / {
    # корень html;
    # индекс index.html index.htm;
    # }
    #}
    включить серверы/*;
}

Мое разрешение на доступ к файлу

 -rw-r--r-- 1 pcyrkl01 staff 1.9K 20 окт 15:03 Dockerfile
-rw-r--r-- 1 pcyrkl01 staff 2.3K 20 окт 15:03 Dockerfile73
-rw-r--r-- 1 pcyrkl01 staff 2.2K 20 окт 15:03 README.md
drwxr-xr-x 9 pcyrkl01 staff 288B 20 окт 15:03 приложение
drwxr-xr-x 4 pcyrkl01 staff 128B 20 окт 15:15 бен
-rw-r--r-- 1 pcyrkl01 staff 4.0K 20 окт 15:03 composer.json
-rw-r--r-- 1 pcyrkl01 staff 345K 20 окт 15:03 composer.lock
-rwxr-xr-x 1 pcyrkl01 staff 1.8M 20 окт 15:03 composer.phar
drwxr-xr-x 3 pcyrkl01 staff 96B 20 окт 15:03 развернуть
-rw-r--r-- 1 pcyrkl01 staff 662B 20 окт 15:03 deploy.php
-rw-r--r-- 1 pcyrkl01 staff 3,6K 20 окт 15:03 deploy_aws.php
-rw-r--r-- 1 pcyrkl01 staff 12K 20 окт 15:03 deploy_test.php
-rw-r--r-- 1 pcyrkl01 staff 787B 20 окт 15:03 docker-compose.dev.yml
drwxr-xr-x 5 pcyrkl01 staff 160B 20 окт 15:03 документы
drwxr-xr-x 6 pcyrkl01 посох 192B 20 окт 15:03 фронт
-rw-r--r-- 1 pcyrkl01 staff 13K 20 окт 15:03 gulpfile.js
-rw-r--r-- 1 pcyrkl01 staff 1.5K 20 окт 15:03 nagios.php
drwxr-xr-x 677 pcyrkl01 staff 21K 20 окт 15:12 node_modules
-rw-r--r-- 1 pcyrkl01 staff 287K 20 окт 15:12 npm-shrinkwrap.json
-rw-r--r-- 1 pcyrkl01 staff 290K 20 окт 15:03 package-lock.json
-rw-r--r-- 1 pcyrkl01 staff 769B 20 окт 15:03 package.json
-rw-r--r-- 1 pcyrkl01 staff 1.3K 20 окт 15:03 phpunit.xml.dist
drwxr-xr-x 5 pcyrkl01 staff 160B 20 окт 15:03 src
drwxr-xr-x 6 pcyrkl01 staff 192B 20 окт 15:03 тесты
drwxr-xr-x 6 pcyrkl01 staff 192B 20 окт 15:15 переменная
drwxr-xr-x 65 pcyrkl01 staff 2.0K окт 20 15:15 продавец
drwxr-xr-x 31 pcyrkl01 staff 992B 20 окт 15:15 веб
drwxr-xr-x 7 pcyrkl01 staff 224B 20 окт 15:09 web_admin
drwxr-xr-x 6 pcyrkl01 staff 192B 20 окт 15:03 web_api

В /etc/hosts я добавил: 127.0.0.1 admin.local local.backend

список услуг по пивоварению

nginx запустил pcyrkl01 /Users/pcyrkl01/Library/LaunchAgents/homebrew.mxcl.nginx.plist
[email protected] запустил pcyrkl01 /Users/pcyrkl01/Library/LaunchAgents/[email protected]

Проблема в том, что оба хоста у меня открываются вместо сайта это локация /usr/local/var/www, вместо моей - Users/pcyrkl01/sites/local.admin/web или web_admin

флаг tw
Вы заходите на сайт по https? Похоже, используется другой хост. Вы можете видеть, что путь в журнале отличается от вашего `root /usr/local/var/www/localdomain;`
PawelC avatar
флаг gb
@martin.malek обновил весь пост и добавил больше деталей :)
флаг tw
все еще не видите, к какому URL вы обращаетесь
PawelC avatar
флаг gb
@martin.malek admin.local и local.backend с https в начале
флаг tw
Выглядит нормально. Просто nginx.conf не целый. Включаете ли вы файлы своего сервера в nginx.conf? Просто попробуйте сделать ошибку в файле local.backend, если nginx не запустится.
PawelC avatar
флаг gb
@martin.malek Я добавил в пост все содержимое nginx.conf

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.