Pour le site wordpress en utilisant nginx + php-fpm Je suis intéressé par l'application d'une plus fastcgi_read_timeout directive juste /wp-admin répertoire pour éviter les délais d'attente pour les tâches d'administration intensive de temps .Configurer nginx avec deux emplacements de fastcgi_pass php-fpm
Le seul problème avec l'exemple de code ci-dessous est lorsque je visite http://webpage.org/wp-admin je reçois 404. Lorsque je visite http://webpage.org/wp-admin/index.php les messages de la page.
En utilisant nginx add-header directive pour me aider debug je suis en mesure de déterminer que lors de la visite http://webpage.org/wp-admin nginx choisit emplacement ~ .php $ sur emplacement^~/wp-admin.
Des idées sur la façon de résoudre ce problème? Merci
location ^/wp-admin/.*.(php|phps)$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_keep_conn on;
fastcgi_read_timeout 120;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_keep_conn on;
}
suggestion Silly. Dans votre directive 'try_files' pour le bloc'/wp-admin', vous pouvez essayer l'URI en tant que répertoire (puisque 'wp-admin' est aussi un répertoire dans Wordpress) avant de retourner 404. Donc, le modifier pour le lire 'try_files $ uri $ uri/= 404;' En termes de précédence, votre config est correcte. –
Merci, votre suggestion a fonctionné. Pour comprendre pourquoi j'ai trouvé un lien utile ici http://stackoverflow.com/questions/17798457/how-can-i-make-this-try-files-directive-work. – Peter
Yip, c'était l'intention. Heureux que vous l'avez fait fonctionner :) P.S Vous pouvez également utiliser curl -I http: // webpage.org/wp-admin' pour vérifier les en-têtes à partir d'une interface de ligne de commande (Unix), mais le débogage de Chrome ou Firebug est tout aussi bon. –