Augmente tes inodes !

0

Posted by Florian | Posted in Geekisme, Logiciels Libres, Sysadmin | Posted on 17-10-2013

Étiquettes : , , , ,

Des services se plaignent dans ton syslog d’un espace disque insuffisant, au hasard parce que tu as voulu faire le malin en déplaçant dans un ramdisk un dossier soumis à un nombre élevé d’IOPS (ce qui peut rester très malin)…

Oct 17 12:00:00 mail postfix/cleanup[12345]: warning: mail_queue_enter: create file incoming/12345.67890: No space left on device

… pourtant un df -h t’annonce que tu es large niveau espace disque.
Tu as envie de dire : WTF ?! Je comprends.

root@home:~#df -h /chemin
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur
tmpfs 2048000 1167088 880912 57% /chemin

Keep cool.
Lire la suite »

Nginx derrière un reverse proxy (Varnish, etc.) : voir les vraies IP

0

Posted by florian | Posted in Sysadmin | Posted on 18-06-2012

Étiquettes : , , ,

Tu aimes la vitesse et fais donc profiter ton Nginx d’un chouette reverse proxy du genre (au hasard) Varnish.
Seulement voilà, tu observes quelques problèmes de sessions au niveau applicatif (PHP ou autre) et puis les logs remontent désespérement toujours la même adresse IP : celle de ton reverse proxy Varnish.

Avec l’été qui tarde à venir, accepte donc ce petit rayon de soleil : tu as juste à ajouter ça dans ta conf’ Nginx, du genre dans un fichier /etc/nginx/conf.d/real_ip.conf tout bien propre :

# Liste des IP de tes reverse proxies, par exemple
set_real_ip_from 192.168.0.0/24;
set_real_ip_from 192.168.0.123;

# Le header HTTP qui contient la vraie IP, généralement "X-Forwarded-For" sur la plupart des confs par défaut des reverse proxies
real_ip_header X-Forwarded-For;

Un petit « service nginx configtest » pour s’assurer que tout baigne, un petit « service nginx reload » et Ô magie du module Real IP de Nginx : ton serveur web voit à présent la vraie IP des clients qui se connectent !

En cas de problème, peu probable puisque la plupart des packages Nginx sous Debian et Ubuntu sont compilés avec le support de Real IP, il faudra songer à recompiler ton Nginx avec le support du module (directive –with-http_realip_module).

Pour aller plus loin :
Wiki de Nginx : module Real IP

Tester l’existence d’un exécutable en Bash

0

Posted by florian | Posted in Sysadmin | Posted on 06-09-2011

Étiquettes : , , ,

Si tu es l’auteur d’un script Bash magique et que tu veux t’assurer de l’existence de programmes exécutables constituant des pré-requis à sa bonne exécution, alors voilà la bonne façon de le faire :

$ hash foo 2>&- || { echo >&2 "Veuillez installer le programme foo."; exit 1; }

Jusqu’à présent j’utilisais « which » ou d’autres méthodes plus sales moins jolies mais 3 raisons au moins justifient de recourir à hash :

  • which est un programme externe alors que hash est une fonction interne de Bash
  • De nombreux OS fournissent le programme « which » mais celui-ci ne retourne pas de code de sortie, ce qui fait qu’un « if which foo >/dev/null » sera toujours vérifié, même si le programme foo n’existe pas.
  • De nombreux OS font faire diverses à choses à which, comme changer la sortie standard…

Bref, j’ai changé mes habitudes et te conseille de faire de même : à bat which, vive hash !

Source : Stackoverflow

Nginx + PHP-FPM : installer les dernières versions sur Ubuntu

2

Posted by florian | Posted in Geekisme, Logiciels Libres, Sysadmin | Posted on 19-06-2011

Étiquettes : , , ,

Ami internaute, si ton serveur est sous Ubuntu et que :
– soit on se moque de la version de ton Nginx ou de ton PHP-FPM
– soit tu es complexé par la version vieillissante de ton Nginx
– soit tu es complexé par les cheveux blancs de ton PHP-FPM
– soit un peu tout ça à la fois

Alors tu es au bon endroit : voilà comment tu vas pouvoir garder tes Nginx et PHP-FPM « up-to-date » avec un minimum d’efforts, cela va sans dire…

Voici comment faire, en 3 étapes seulement !
Lire la suite »