С какими проблемами вы столкнетесь, если будете использовать Nginx


WordPress - это настоящий боров памяти, и я подумывал об использовании nginx, а не apache.

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

Author: Krzysiek Dróżdż, 2010-08-13

7 answers

К сожалению, у меня нет опыта в этом, но, очевидно, это можно сделать, поскольку эти статьи и плагины решают некоторые проблемы:

Также знакомы ли вы с WordPress-хостингом WP Engine ? Они, очевидно, используют его в гибридной форме с Apache, вероятно, в качестве внешнего прокси-сервера.

Надеюсь, это поможет.

 3
Author: MikeSchinkel, 2010-08-13 16:48:46

Маленький мир:). Вы не увидите много проблем с Nginx и Apache + Wordpress. Мы также используем его для нашей компании, и у нас нет проблем с тем, чтобы один сервер обслуживал 200 тыс. запросов в месяц и более миллиона просмотров страниц в месяц для одного сайта. Общий кэш Nginx + W3, вы получаете очень замечательные цифры.

 2
Author: Vid Luther, 2010-08-14 13:48:04

Самая большая разница заключается в правилах перезаписи, но существует множество руководств (например, связанных с Майком), которые предоставляют вам эквивалентные правила перезаписи.

С точки зрения плагина, если только плагин не делает что-то действительно сумасшедшее, тогда он не должен знать разницы. Все внутренние правила перезаписи и тому подобное обрабатываются на уровне WordPress, независимо от вашего HTTPD.

Короче говоря, действуйте.

 1
Author: Viper007Bond, 2010-08-15 01:53:49

Использование Nginx не заставит Wordpress использовать меньше памяти. Если вас беспокоит память, вы можете сэкономить немного на сервере, оптимизировав конфигурацию Apache, чтобы загружать только нужные вам модули и выполнять другие настройки, которые уменьшат потребности apache в памяти.

Кроме того, в Apache также есть модули кэширования, которые стоит рассмотреть, поэтому для сохранения всей памяти WordPress использовал бы при вызове. Поскольку выходные данные WordPress кэшируются, Wordpress больше не нужно запускать и вы сохраняете память.

 1
Author: hakre, 2013-12-16 10:29:04

Когда WordPress обнаруживает, что mod_rewrite не загружен, он возвращается к pathinfo ie:(/index.php/%postname%/) постоянные ссылки на странице настроек постоянных ссылок. Вы можете использовать плагин совместимости с nginx, чтобы заставить WordPress использовать довольно постоянные ссылки, а затем добавить правила перезаписи в файл сервера nginx:

server { server_name mysite.com;

root /path/to/blog;

index index.php;

location / {
    try_files $uri $uri/ @wordpress;
}

location @wordpress {
    fastcgi_pass ...;
    fastcgi_param SCRIPT_FILENAME $document_root/index.php;
    include /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_NAME /index.php;
}

location ~ \.php$ {
    try_files $uri @wordpress;
    fastcgi_index index.php;
    fastcgi_pass ...;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include /etc/nginx/fastcgi_params;
}

}
 0
Author: Chris_O, 2010-08-20 04:32:54

Документы написаны на русском языке и несколько расплывчаты. Иногда вы задаетесь вопросом, плохой ли перевод или документы просто не очень понятны в первую очередь. Поэтому поиск ответов иногда занимает много времени и/или требует тестирования методом проб и ошибок.

Тем не менее, автор, похоже, очень увлечен сообществом, объясняя параметры конфигурации. И сам NginX дает вам некоторую обратную связь, например: "вы не можете использовать эту опцию здесь".

 0
Author: PJ Brunet, 2011-02-24 21:42:47

Я провел исследование для Ngnix, в настройках wordpress включено кэширование лаков.

Конфигурация виртуального хоста Nginx для wordpress.

server {
        listen 127.0.0.1:8080 default_server;
        listen [::]:8080 default_server;
         root /var/www/html/wordpress;
        index index.php index.html index.htm;
        server_name yourdomain.com www.yourdomain.com;
        location / {
                        try_files $uri $uri/ /index.php?$args;
                }
         location ~ \.php$ {
                                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                                fastcgi_index index.php;
                                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                                fastcgi_param PATH_INFO $fastcgi_path_info;
                                include fastcgi_params;
                            }
}

Установите лак, откройте файл /etc/по умолчанию/лак, настройте, как показано ниже.

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

Проверьте работающий порт.

netstat -ntulp

Если команда netstat не найдена.

sudo apt-get install -y net-tools
 0
Author: Arvind, 2016-07-25 05:59:46