4
juil 09
Posté dans Tutoriaux | Tags :Debian, Django, Nginx, Python, serveur |
6 Commentaires »
Après PHP et Ruby On Rails sur Nginx, on s’attaque maintenant au Python et a son formidable framework qu’est Django. Et je peux vous le dire tout de suite, un serveur comme Nginx avec la stabilité de Python font qu’avec ces technologies vous pouvez aller loin, très loin niveau performance !
Pour information, je suis monté à plus de 500 pages servies par seconde (d’un blog sous Django) en utilisant moins de 100Mo de Ram (pour les processus Python) et 20% d’un CPU Core2Duo E7200. Plutôt pas mal ! La même chose avec Apache et PHP et vous voilà avec un serveur down :/
Dans un premier temps il faut installer Python/Django sur votre serveur. Vous pouvez suivre ce que dit le site officiel (ce que j’ai fait) ou l’installer via:
apt-get install python-django
Si vous avez pas ce qu’il faut d’installé, apt devrait vous proposer de le faire
Maintenant configurons Python en FastCGI.
Pour lancer un serveur python pour voir votre projet Django il faut aller dans le dossier de votre projet et lancer le fameux serveur
apt-get install python-flup
cd /var/www/projet_django
python manage.py runfcgi method=prefork host=127.0.0.1 port=8000 pidfile=/var/run/projet_django.pid
Lire la suite »
26
avr 09
Posté dans Tutoriaux | Tags :Debian, Nginx, PHP, serveur |
15 Commentaires »
J’avais parlé il y a quelques temps de mon choix de passer sur Nginx. On m’a alors souvent demandé comment installer Nginx avec PHP. C’est vrai que c’est légèrement plus compliqué que sur Apache2. Mais que voulez-vous. On a rien sans rien !
Bien que le wiki officiel soit très bien fourni en documentation (en anglais) voici comment installer Nginx avec PHP5 en Fact-CGI via spawn-fcgi.
La première chose est d’avoir Debian (Lenny pour ce tuto) à jour.
Installation d’Nginx :
apt-get install nginx
/etc/init.d/nginx restart
Maintenant en allant sur l’ip de votre serveur vous devriez voir un beau « Welcome to nginx ! ». Donc Nginx est installé et opérationnel sur votre serveur. Maintenant installons et faisons marcher PHP5.
Lire la suite »
19
avr 09
Posté dans Tutoriaux | Tags :Debian, Linux, Mongrel, Nginx, Rails |
3 Commentaires »
Tout ce qui va suivre implique que vous connaissiez un minimum Nginx et que vous l’utilisiez déjà en frontal et non pas en proxy.
Pour avoir Ruby On Rails sur Linux (Debian ici) il va falloir installer un serveur web qui le gère. Mon choix s’est porté sur Mongrel car il est le plus rapide. Et devient encore plus rapide avec Nginx en frontal (on parle de plus de 60% plus rapide !).
Installation de Mongrel, Rails et Ruby :
gem install mongrel
gem install rails
apt-get install ruby
(si vous avez pas gem, un apt-get install gem devrait suffire !)
Ensuite allez à l’endroit où votre projet Rails se trouvera.
cd /var/www/rails
rails nom_du_projet
Vous avez maintenant un projet Ruby On Rails dans /var/www/rails. Il faut maintenant configurer Nginx et Mongrel pour que vous puissiez y avoir accès.
Mongrel :
cd /var/www/rails/nom_du_projet
mongrel_rails start -d -p 3000 --prefix=/nom_du_projet
Ici le serveur Mongrel démarre en Daemon (-d) sur le port 3000 (-p 3000) et avec le prefix de votre projet.
Maintenant si vous tapez xx.xx.xx.xx:3000/nom_du_projet (où xx.xx.xx.xx est l’ip du serveur) vous devrez avoir une belle page de Ruby On Rails vous disant que tout marche. Il va maintenant falloir configurer Nginx.
Nginx :
Dans votre Virtual Host ajoutez :
server {
listen 80;
server_name votre_nom_de_domaine.com;
access_log /chemin_vers_les_logs_access.log;
error_log /chemin_vers_les_logs_error.log;
location / {
root /var/www/rails/;
index index.html;
}
location /nom_du_projet {
proxy_pass http://localhost:3000;
}
}
Maintenant si vous allez sur votre nom de domaine (ou sous domaine) vous devriez avoir la même page de Ruby On Rails que précédemment. Il vous reste plus qu’à coder
24
mar 09
Posté dans Mes sites | Tags :Apache, Debian, lighttpd, Nginx, serveur |
4 Commentaires »
Nginx est ni plus ni moins qu’un serveur web (d’origine russe), à l’instar d’Apache, lighttpd ou encore IIS. Et c’est avec ce jeu de mot sorti de mon imaginaire florissant (cf le titre du post) que je vais vous parler de ma récente découverte d’Nginx.

Tout d’abord la genèse. Si vous suivez ce que j’écris depuis un moment, vous savez certainement que j’étais passé sur Lighttpd. Il répondait à mes besoins jusqu’à ce qu’il soit touché par un bug (connu mais non résolu) de fuite de mémoire (memory leak). C’est tout de même assez embêtant pour un serveur web d’avoir des fuites de mémoire, surtout en phase de production…Puis je suis passé sur un nouveau serveur (il faudrait que je vous parle de la virtualisation d’ailleurs !). Et j’ai écouté le côté obscure de la force qui m’a dit qu’Apache2 c’était très bien (je ne dénoncerai pas la personne !). Mais la catastrophe. Ram bouffée en quelques heures. Je me suis (vraiment) arraché les cheveux, stressé pendant de longs jours, configuré de tous les côtés. Mais rien. Au mieux j’arrivais à reculer l’inévitable (up d’Apache de 26h maximum…). La Ram devenait pleine et le serveur freezait.
C’est à ce moment là que j’ai commencé à entendre parlé de Nginx. Je me suis renseigné, lu la documentation, on m’en a reparlé. Et j’ai décidé de sauter le pas. Depuis ? Depuis le serveur est stable.
Avant je me demandais comment Apache2 arrivait à manger autant de RAM. Maintenant je me demande comment Nginx fait pour en utiliser aussi peu. C’est vraiment hallucinant.
Pour information, Nginx sert en moyenne (sur 24h) 2 requêtes par seconde. Ce qui est beaucoup pour certains et peu pour d’autres (phrase profonde !).
Pour plus d’information je vous encourage fortement à regarder par ici. Je ferai un autre post avec des notions plus techniques sur Nginx d’ici quelques jours (et quand j’aurai du temps !).