O WordPress é um bom sistema de memória, e tenho pensado em usar o nginx em vez do Apache.
A principal consideração antes de fazer isso é se houver plugins que parem de funcionar. Eu testei alguns e eles parecem funcionar, mas eu preciso descobrir se há algum que pode quebrar.
Eu unfortnately não tenho nenhuma experiência com isso, mas, evidentemente, isso pode ser feito como esses artigos e plugins abordar alguns dos problemas:
Você também está familiarizado com WP Engine WordPress hosting ? Eles estão, evidentemente, usando-o de forma híbrida com o Apache, provavelmente como um proxy de front-end.
Espero que isso ajude.
Mundo pequeno :). Você não verá muitos problemas com Nginx e Apache + Wordpress. Também o usamos para a nossa empresa, e não temos problemas em obter um servidor para servir 200 mil únicos/mês e mais de um milhão de pageviews/mês para um site. Nginx + W3 Total Cache, você obtém alguns números muito notáveis.
A maior diferença é reescrever as regras, mas há muitos guias por aí (como os que Mike relacionou) que fornecem regras de reescrita equivalentes.
De uma perspectiva de plugin, a menos que o plugin esteja fazendo alguma coisa realmente louco, então ele não deveria saber a diferença. Todas as regras internas de reescrita e essas coisas são tratadas no nível do WordPress, independentemente do seu HTTPD.
Em suma, vá em frente.
Usar o Nginx não fará com que o Wordpress use menos memória. Se você está preocupado com a memória, você pode economizar alguns servidores otimizando sua configuração do Apache para carregar apenas os módulos que você precisa e fazer outra configuração que reduza a memória que o Apache precisa.
Além disso, o Apache também vale a pena considerar os módulos de cache, para salvar todas as memórias que o WordPress usaria quando invocado. Como a saída do WordPress é armazenada em cache, o Wordpress não precisa mais ser executado e você economiza a memória.
Quando o WordPress detecta que o mod_rewrite não está carregado, ele retorna para pathinfo, por exemplo: (/ index.php /% postname% /) permalinks na página Permalink Settings. Você pode usar o plugin de compatibilidade nginx para forçar o WordPress a usar permalinks muito bonitos e adicionar regras de reescrita ao seu arquivo do servidor 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;
}
}
Os documentos são escritos em russo e um tanto vagos. Às vezes você está se perguntando se a tradução está ruim ou se os documentos não são muito explícitos em primeiro lugar. Portanto, encontrar respostas às vezes consome tempo e/ou requer testes de tentativa e erro.
No entanto, o autor parece muito envolvido com a comunidade, explicando as opções de configuração. E o próprio NginX lhe dá algum feedback, como "você não pode usar essa opção aqui".
Fiz pesquisa para o Ngnix, configuração de wordpress ativada para cache de verniz
Configuração do Nigan Virtualhost para 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;
}
}
Instale o arquivo aberto de verniz/etc/default/verniz, configure como abaixo.
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
Verifique a porta em execução.
netstat -ntulp
se o comando netstat não for encontrado.
Sudo apt-get install -y net-tools