Nginx (как интерфейс к Apache) для обслуживания статических файлов WP Super Cache

StackOverflow https://stackoverflow.com/questions/884845

  •  23-08-2019
  •  | 
  •  

Вопрос

В настоящее время я работаю над своим блогом Wordpress, который размещен на VPS.NET VPS с Nginx в качестве интерфейса для Apache для обслуживания статических файлов, в то время как Apache заботится о PHP в FastCGI.Кажется, это работает отлично, однако мне еще не удалось заставить Nginx обслуживать файлы WP-SuperCache, что мне хотелось бы для максимальной производительности (я не планирую полностью заменять Apache на Nginx прямо сейчас, потому что у меня лицензия Virtualmin, а она не поддерживает Nginx).Я перепробовал множество правил, найденных здесь и там, но в конце концов ни одно из них не сработало для меня, или я чего-то не понимаю.На самом деле, если Apache остановлен, я все еще могу получать изображения, таблицы стилей и javascript, доставляемые в браузер напрямую Nginx.Но если я попытаюсь просмотреть блог (со страницами, наверняка кэшированными WP-SuperCache) с остановленным Apache, все, что я получу от Nginx, - это "502 bad gateway".Любые идеи были бы высоко оценены.Заранее большое спасибо.

Это было полезно?

Решение

Nginx может обрабатывать ваш FastCGI.В комплекте с Nginx, как правило, все, что делает Apache, - это отнимает у вас ресурсы.

Что касается WP Super Cache, если вы создадите новый файл и вставите это, он выдаст вам и это, и, раз уж мы об этом заговорили, FURLs ...

# if the requested file exists, return it immediately
if (-f $request_filename) {
break;
}

set $supercache_file '';
set $supercache_uri $request_uri;

if ($request_method = POST) {
set $supercache_uri '';
}

# Using pretty permalinks, so bypass the cache for any query string
if ($query_string) {
set $supercache_uri '';
}

if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
set $supercache_uri '';
}

# if we haven't bypassed the cache, specify our supercache file
if ($supercache_uri ~ ^(.+)$) {
set $supercache_file /wp-content/cache/supercache/$http_host/$1index.html;
}

# only rewrite to the supercache file if it actually exists
if (-f $document_root$supercache_file) {
rewrite ^(.*)$ $supercache_file break;
}

# all other requests go to Wordpress
if (!-e $request_filename) {
rewrite . /index.php last;
}

Теперь перейдите к файлу вашего виртуального хоста или nginx.conf, если вы объединяете свои сайты, и добавьте строку типа ..

# Wordpress WP Super Cache plugin and permalinks.
include /usr/local/nginx/conf/wordpress_params.super_cache;

..где wordpress_params.super_cache - это то, как вы назвали созданный нами файл и указали путь относительно того, который я показал.

Затем перезапустите Nginx и включите плагин WP Super Cache, а для красивых ссылок добавьте структуру постоянных ссылок.


Дело в том, что нужно многое знать, чтобы правильно установить Nginx, особенно с WordPress, и настроить FastCGI.Если хотите, это было бы хорошим началом для вас...

.. Настройка WordPress на NGINX (FURLs & Cache) - Библия VPS, часть 13

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

В настоящее время я публикую серию VPS Admin из 21 части , в которой рассматривается проблема отсутствия CP Nginx ..честно говоря, это все, что вам нужно.

Через неделю или две я призываю вас сказать мне, что быстрее или иным образом лучше использовать CP :)

Другие советы

Кажется глупым запускать Nginx через Apache.

Настройте Nginx для обслуживания самого php и динамических страниц, и у вас будет гораздо более быстрый сервис и не возникнет проблемы, когда apache умирает и оставляет ваш веб-сервер (Nginx) зависшим.

Если ваша панель администратора не поддерживает это, вам, вероятно, в первую очередь следует использовать только apache.Либо делайте одно, либо другое, и то, и другое - это просто напрашивание на проблемы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top