Ошибка no port in upstream «php-fpm» (NGINX)?

Наверно, вторую неделю пытаюсь настроить сервер...

Застрял с кэшированием, делаю так:

fastcgi_cache_path /var/cache/nginx/my_name
    levels=1:2
    keys_zone=my_name:16m
    max_size=256m
    inactive=1d;

server {
    # Порт который слушаем
    listen 80;
    # Имя хоста
    server_name my_name.ru;
    # Путь до htdocs (document_root)
    root /path/to/www;

    # включаем использование ssi
    ssi on;

    location / {
        # Если такой файл не существует физически, то переходить на крайний аргумент, то есть @wordpress
        try_files $uri @wordpress;
    }

    # обработчик для wordpress
    location @wordpress {

        # Проксируем на php-fpm
        fastcgi_pass php-fpm;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/index.php;
        fastcgi_param SCRIPT_NAME /index.php;

        # Настройки кеширования
        fastcgi_temp_path /tmp/nginx 1 2; # Каталог для хранение временных файлов
        fastcgi_cache my_name; # Имя зоны кеша
        fastcgi_cache_key "$request_method|$host|$request_uri"; # Из этих данных строится хеш
        fastcgi_hide_header "Set-Cookie"; # Не передавать клиенту заголовки кук
        fastcgi_cache_min_uses 1; # Кол-во запросов, после которых ответ будет закеширован
        fastcgi_cache_valid 10m; # Время жизни кеша
        fastcgi_cache_use_stale error timeout invalid_header http_500; # Случаи при которых будет использоватся старый кеш

    }

    # обработчик для динамических данных
    location ~ ^/ssi/ {
        fastcgi_pass php-fpm;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;        
    }

    # Обработчик *.php файлов, например "wp-comments-post.php"
    location ~ \.php$ {

        # если файл физически не существует, то переходим в @wordpress
        try_files $uri @wordpress;

        # иначе обрабатываем запрос
        fastcgi_pass php-fpm;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}


Ошибка
nginx: [emerg] no port in upstream "php-fpm"
указывает на
fastcgi_pass php-fpm;


Конечно, же, это я не сам написал, и не могу понять, нужно ли мне
fastcgi_script_name
менять на свой файл? Если да, то на какой и что там должно быть?
Также
# Путь до htdocs (document_root)
root /path/to/www;
не особо понятен, я почему-то не смог его найти. Что за htdocs? Может заменить на public_html, где и лежит сайт?

Спасибо.
  • Вопрос задан
  • 3970 просмотров
Решения вопроса 1
kotomyava
@kotomyava
Системный администратор
В fastcgi_pass, должно быть, либо указание блок upstream{}(https://nginx.ru/ru/docs/http/ngx_http_upstream_mo... либо unix:/path/to/socket(путь до сокета), либо ipaddress:port(адрес/порт)
В приведённом вами конфиге, было вероятно, первое. Но в свою конфиг вы его вставить забыли...

fastcgi_param SCRIPT_FILENAME у вас задан через переменные, и вероятно подойдёт.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы