С какими проблемами вы столкнетесь, если будете использовать Nginx
WordPress - это настоящий боров памяти, и я подумывал об использовании nginx, а не apache.
Единственное важное соображение, прежде чем делать это, заключается в том, есть ли какие-либо плагины, которые перестанут работать. Я протестировал несколько, и они, похоже, работают, но мне нужно выяснить, есть ли какие-либо, которые могут сломаться.
7 answers
К сожалению, у меня нет опыта в этом, но, очевидно, это можно сделать, поскольку эти статьи и плагины решают некоторые проблемы:
- КАК установить WordPress На Nginx
- WordPress + Совместимость с nginx Плагин
- Как сделать nginx + wordpress + ubuntu кратчайшей настройкой
- Кэш прокси-сервера Nginx для WordPress
- WordPress Довольно постоянные ссылки с Nginx
- WordPress, Nginx и WP Супер Кэш
Также знакомы ли вы с WordPress-хостингом WP Engine ? Они, очевидно, используют его в гибридной форме с Apache, вероятно, в качестве внешнего прокси-сервера.
Надеюсь, это поможет.
Маленький мир:). Вы не увидите много проблем с Nginx и Apache + Wordpress. Мы также используем его для нашей компании, и у нас нет проблем с тем, чтобы один сервер обслуживал 200 тыс. запросов в месяц и более миллиона просмотров страниц в месяц для одного сайта. Общий кэш Nginx + W3, вы получаете очень замечательные цифры.
Самая большая разница заключается в правилах перезаписи, но существует множество руководств (например, связанных с Майком), которые предоставляют вам эквивалентные правила перезаписи.
С точки зрения плагина, если только плагин не делает что-то действительно сумасшедшее, тогда он не должен знать разницы. Все внутренние правила перезаписи и тому подобное обрабатываются на уровне WordPress, независимо от вашего HTTPD.
Короче говоря, действуйте.
Использование Nginx не заставит Wordpress использовать меньше памяти. Если вас беспокоит память, вы можете сэкономить немного на сервере, оптимизировав конфигурацию Apache, чтобы загружать только нужные вам модули и выполнять другие настройки, которые уменьшат потребности apache в памяти.
Кроме того, в Apache также есть модули кэширования, которые стоит рассмотреть, поэтому для сохранения всей памяти WordPress использовал бы при вызове. Поскольку выходные данные WordPress кэшируются, Wordpress больше не нужно запускать и вы сохраняете память.
Когда 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;
}
}
Документы написаны на русском языке и несколько расплывчаты. Иногда вы задаетесь вопросом, плохой ли перевод или документы просто не очень понятны в первую очередь. Поэтому поиск ответов иногда занимает много времени и/или требует тестирования методом проб и ошибок.
Тем не менее, автор, похоже, очень увлечен сообществом, объясняя параметры конфигурации. И сам NginX дает вам некоторую обратную связь, например: "вы не можете использовать эту опцию здесь".
Я провел исследование для 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