it-swarm.dev

Jaké problémy byste měli dělat, pokud používáte Nginx

WordPress je docela paměťový prase, a já jsem přemýšlel o použití nginx spíše než Apache.

Jedním z hlavních úvah před tím, než je to, že existují nějaké pluginy, které přestanou fungovat. Zkoušel jsem několik a zdá se, že fungují, ale musím zjistit, zda existují nějaké, které by se mohly zlomit.

3
Sudhanshu

Nešťastně nemám žádné zkušenosti s tím, ale zřejmě to lze udělat, protože tyto články a pluginy řeší některé problémy:

Také jste obeznámeni s WP Engine WordPress hosting ? Zřejmě ji používají v hybridní podobě s Apache, pravděpodobně jako front-end proxy.

Doufám, že tato pomoc.

3
MikeSchinkel

Malý svět :). S Nginxem a Apache + Wordpressem nebudete vidět mnoho problémů. Používáme jej i pro naši společnost a nemáme problém dostat jeden server na 200 tisíc unique/měsíc a více než milion zobrazení stránky/měsíc pro jednu stránku. Nginx + W3 Total Cache, dostanete několik pozoruhodných čísel.

2
Vid Luther

Největší rozdíl je v přepisovacích pravidlech, ale je tam spousta průvodců (např. Těch, které jsou propojeny Mikeem), které vám poskytují ekvivalentní pravidla pro přepis.

Z pohledu pluginu, pokud plugin nedělá něco opravdu blázen, pak by neměl znát rozdíl. Všechna interní pravidla pro přepsání a to, že se věci sorta zpracovávají na úrovni WordPressu, nezávisle na HTTPD.

Stručně řečeno, jděte na to.

1
Viper007Bond

Použití Nginx nebude Wordpress používat méně paměti. Pokud se zajímáte o paměť, můžete ušetřit několik serverů pomocí optimalizace konfigurace Apache, abyste mohli načíst pouze moduly, které potřebujete, a provést jinou konfiguraci, která sníží potřebu paměti Apache.

Kromě toho, Apache má caching moduly, stejně jako stojí za to zvážit, tak ušetřit všechny paměti WordPress by se použil při vyvolání. Vzhledem k tomu, WordPress výstup dostat do mezipaměti, Wordpress nemusí běžet déle a uložte paměť.

1
hakre

Když WordPress zjistí, že mod_rewrite není načten, vrátí se zpět na pathinfo tj: (/ index.php /% postname% /) permalinks na stránce Permalink Settings. Můžete použít nginx Compatibility plugin k vynucení WordPressu použít docela permalinks a pak přidat pravidla pro přepsání do vašeho souboru serveru 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
Chris_O

Dokumenty jsou psány v ruštině a poněkud vágní. Někdy se ptáte, zda je překlad špatný, nebo zda dokumenty nejsou v první řadě příliš explicitní. Nalezení odpovědí je tedy někdy časově náročné a/nebo vyžaduje testování pokusů a omylů.

Autor se však zdá být velmi angažovaný v komunitě a vysvětluje možnosti konfigurace. A NginX sám vám dává nějakou zpětnou vazbu, například "tuto možnost zde nemůžete použít."

0
PJ Brunet

Udělal jsem výzkum pro Ngnix, lakování cachování umožňující nastavení programu wordpress.

Nginx Virtualhost konfigurace pro 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;
                            }
}

Nainstalujte otevřený soubor laku/etc/default/varnish.

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

Zkontrolujte běžící port.

netstat -ntulp

pokud nebyl nalezen příkaz netstat.

Sudo apt-get install -y net-tools
0
Arvind