Рейтинг:0

настроить NGINX: для Wordpress Headless с nextjs

флаг br

Я хочу сделать WordPress безголовым (используя API wpgraphql по адресу /graphql uri), где интерфейсом будет next.js. И я хочу, чтобы и интерфейс (Next.js), и сервер (WordPress. администратор, контент и API) находились в тот же домен.

С этой целью я хочу, чтобы все запросы были только для /вп-админ/* и /wp-контент/* и /графкл для направления на WordPress. А все остальные uri будут перенаправлены на сервер next.js в localhost:3000 через обратный прокси. Ниже приведен файл конфигурации nginx.

сервер {
  слушать 80;
  слушать [::]:80;
  корень /var/www/wordpress;
  индекс index.php index.html index.htm;
  имя_сервера локальный хост;

  client_max_body_size 100M;
  автоиндекс выключен;

  # Вордпресс 
  место расположения / {
    try_files $uri $uri/ /index.php?$args;
  }

  расположение ~ \.php$ {
    включить фрагменты/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    включить fastcgi_params;
  }

  # Next.js
  место расположения # ... {
    proxy_pass http://localhost:3000;
    прокси_http_версия 1.1;
    proxy_set_header Обновить $http_upgrade;
    proxy_set_header Соединение "обновление";
    proxy_set_header Хост $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $ схема;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Port $server_port;
  }
}

Любая помощь приветствуется, спасибо

Рейтинг:0
флаг us

nginx использует самый длинный соответствующий префикс, указанный с помощью место расположения директива. Поэтому следующая установка должна делать то, что вы хотите.

Вы можете использовать следующий подход:

  расположение /wp-admin {
     try_files $uri $uri/ /index.php?$args;
  }
  
  расположение /wp-includes {
     try_files $uri $uri/ /index.php?$args;
  }
    
  расположение /wp-json {
     try_files $uri $uri/ /index.php?$args;
  }

  местоположение / wp-контент {
      try_files $uri $uri/ /index.php?$args;
  }

  расположение /график {
      try_files $uri $uri/ /index.php?$args;
  }
Adiel avatar
флаг br
Отлично работает, но необходимо добавить пути wp-includes и wp-json. Спасибо

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

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