Nginx c’est nouveau (enfin pas trop tout de même) c’est bien, enfin c’est ce qu’on dit.

 

Jusqu’à présent lorsque je voulais tester un nouveau site, application etc, je recréais une configuration pour chaque site dans site-available. Rassurez vous, je ne ré-invente pas la roue à chaque site, juste je copie une configuration. L’avantage d’un tel procédé est qu’on peut désactiver rapidement un site en le supprimant de site-enabled.

Maintenant lorsqu’on veut tester différent site par exemple il existe une solution bien plus simple. Tout comme apache, elle consiste à mettre le server_name en variable. Du coup vous stockez tous vos sites dans un sous répertoire et vous n’avez plus besoin d’ajouter une ligne dans votre fichier /etc/hosts etc de redémarrer le serveur nginx. Le désavatange en php c’est que pour la variable SERVER_NAME vous récupérez une valeur un peu bizarre.

 

 

fichier configuration Nginx basique

 

server {

       listen 8081;

#       listen [::]:80;

      server_name   ~^(www\.)?(.+)$;

 

       root /home/jbaptiste/www/nginx;

       index.php index index.html index.htm;

#bon là c’est écrit c’est pour l’icône favori

       location = /favicon.ico {

               log_not_found off;

               access_log off;

       }

#la c’est pour le traitement général

       location / {

              try_files $uri $uri/ /index.php?q=$uri&$args;

       }

 

       # deny running scripts inside writable directories

       location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {

               return 403;

               error_page 403 /403_error.html;

       }

 

#là c’est pour spécifier upload (bien utile)

        client_max_body_size 20M;

#la c’est pour la configuration en version fpm de php

        location ~ \.php$ {

             fastcgi_split_path_info ^(.+\.php)(/.+)$;

             # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

 

             # With php5-cgi alone:

             #fastcgi_pass 127.0.0.1:9000;

 

     #With php5-fpm:

             fastcgi_pass unix:/var/run/php5-fpm.sock;

             #common fpm and php5-cgi

     fastcgi_index index.php;

             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

             include fastcgi_params;

  }

# caching of files

       location ~* \.(ico|pdf|flv)$ {

               expires 1y;

       }

#la c’est pour spécifier l’expiration (un sur SEO)

       location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {

               expires 14d;

       }

#autorisation des robots, ne pas logger

  location = /robots.txt {
               allow all;
               log_not_found off;

}

 

Comments powered by CComment

We use cookies

Nous utilisons des cookies sur notre site web. Certains d’entre eux sont essentiels au fonctionnement du site et d’autres nous aident à améliorer ce site et l’expérience utilisateur (cookies traceurs). Vous pouvez décider vous-même si vous autorisez ou non ces cookies. Merci de noter que, si vous les rejetez, vous risquez de ne pas pouvoir utiliser l’ensemble des fonctionnalités du site.