Migration Lenny vers Wheezy : passage d’apache2 vers nginx

Aucun rapport avec la domotique.
J’ai changé de machine pour mes hébergements personnels, j’en ai profité pour abandonner Apache2 au profit NginX.

Deux petits mots pour dire que ça se passe super bien… du moment où c’est bien préparé…
Le gros du boulot a été l’abandon des .htaccess.
Les RewriteRules se placent dans la config du VirtualHost.
J’ai utilisé ce chouette script qui simplifie la vie.

Quand on a :
RewriteRule ^news/(.*)\+([0-9]+)$ /index.php?page=c_news_detail&news_id=$2 [L]

Ça Devient :
rewrite ^/news/(.*)\+([0-9]+)$ /index.php?page=c_news_detail&news_id=$2 last;

Rien de dramatique… Y’a juste à s’assurer que c’est bien transformé.
Quoi que … Les RewriteCond sont très différents…

RewriteCond %{HTTP_HOST} !^www.tfhq.fr$
 RewriteCond %{HTTP_HOST} !^tfhq$
 RewriteCond %{REQUEST_URI} !^/data/.*$
 RewriteCond %{REQUEST_URI} !^/images/.*$
 RewriteCond %{REQUEST_URI} !^(.*)\.css$
 RewriteCond %{REQUEST_URI} !^(.*)\.js$
 RewriteRule ^(.*) http://www.tfhq.fr/$1 [L,R=301]

Devient sous Nginx :

if ($http_host !~ "^www.tfhq.fr$"){
 set $rule_0 1$rule_0;
 }
 if ($http_host !~ "^tfhq$"){
 set $rule_0 2$rule_0;
 }
 if ($uri !~ "^/data/.*$"){
 set $rule_0 3$rule_0;
 }
 if ($uri !~ "^/images/.*$"){
 set $rule_0 4$rule_0;
 }
 if ($uri !~ "^(.*)\.css$"){
 set $rule_0 5$rule_0;
 }
 if ($uri !~ "^(.*)\.js$"){
 set $rule_0 6$rule_0;
 }
 if ($rule_0 = "654321"){
 rewrite ^/(.*) http://www.tfhq.fr/$1 permanent;
 break;
 }

La config gzip dans nginx.conf

gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 8;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/xml text/css image/svg+xml application/xhtml+xml application/xml application/rss+xml application/atom_xml application/x-javascript application/javascript application/x-httpd-php application/x-httpd-fastphp application/x-httpd-eruby;

Et pour terminer, la prise en compte de php-fpm pour les configs des VirtualHost :

location ~ \.php$ {
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_script_name;
 include /etc/nginx/fastcgi_params;
 }

La seule mauvaise surprise étant la fin du package « ffmpeg-php ».
Voila voila, une bonne chose de faite !

Ce billet est posté dans Debian, Web. Mettre en favoris le permalien.

Une réponse à Migration Lenny vers Wheezy : passage d’apache2 vers nginx

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *