Le grand père de Terminator

tomy Le grand père de Terminator

Si Terminator a eu un ancĂŞtre alors c’est LUI !! Le Tomy i-SOBOT qui maitrise toutes les formes de combats armĂ©s ! Arc, mitraillette, arbalette, fusil de sniper, lance rocket et sabre lazer ! Ses compagnons de Toy Story prennent cher (enfin surtout le dino) mais ce robot est un tueur !!! J’adore !

En somme le jouet idéal pour votre enfant, à mettre sous le sapin ce soir. Arf !

Mettre en place un Reverse Proxy Nginx sur son serveur

nginx Mettre en place un Reverse Proxy Nginx sur son serveur

A cause (ou grâce) au petit concours que j’ai lancĂ© pour gagner le Nokia N900, vous ĂŞtes trèèèèèèès nombreux Ă  ĂŞtre sur le site, Ă  laisser un commentaire puis après aller vous ballader sur mes autres articles. C’est bien (yeah!) sauf que du coup l’Apache qui fait tourner le site a eu un peu de mal Ă  gĂ©rer l’affluence.

J’ai donc du mettre en place un petit serveur Nginx pour faire office de Reverse Proxy afin d’alleger le tout. Je ne me prĂ©tend pas expert en nginx mais je vais tenter de vous expliquer avec mes mots (c’est Ă  dire simplement) comment mettre ça en place chez vous.

Mais avant ça, petit cours de comment fonctionne un serveur http classique type Apache !

Lorsque vous arrivez avec votre petit navigateur sur Korben.info (qui tourne sous wordpress), voici ce qui se passe :

  • Votre ordinateur envoie une demande de connexion au serveur Apache
  • Votre navigateur peut alors se connecter au serveur Apache
  • Apache crĂ©e alors un nouveau process pour gĂ©rer votre demande
  • Si c’est du contenu statique que vous demandez (genre une image), Apache va la chercher et vous l’envoie (facile)
  • Mais si c’est du contenu dynamique (genre page en PHP), Apache la demande et doit attendre que PHP (souvent en appelant un petit coup MySQL dans la foulĂ©e) ai fini de gĂ©nĂ©rer cette page pour vous la renvoyer.
  • Votre navigateur reçoit alors le fichier demandĂ©, il ferme la connexion avec l’Apache et vous affiche le contenu demandĂ©

Great !

Sauf que ce qu’on ne vous dit pas, c’est qu’en cas de nombreuses demandes, votre Apache il souffre sa race ! En effet, il peut en quelques minutes bouffer toute la mĂ©moire de votre serveur et faire tourner le CPU Ă  plus de 100 % ! Pas cool ! Une des solutions consisterait donc Ă  acheter un plus gros serveur mais avant de sortir le chĂ©quier, il est possible de l’optimiser encore un petit peu.

On peut en effet confier la distribution des fichiers statiques Ă  un serveur comme Nginx qui a l’avantage d’ĂŞtre très rapide pour exĂ©cuter cette tâche. La mĂ©moire vive consommĂ©e par Nginx est très rĂ©duite, ce qui permet de le charger un peu sans exploser la mĂ©moire. Ayant dĂ©jĂ  une architecture Apache en place, je ne voulais pas passer ma nuit Ă  tout migrer sur Nginx en tant que serveur web (et surtout ne pas me prendre la tĂŞte avec les reĂ©criture d’URL qui se gère un peu diffĂ©remment sous Nginx). J’ai donc dĂ©cider de l’utiliser comme un Reverse Proxy. C’est Ă  dire de faire tourner l’Apache (avec le blog et tout et tout) sur un autre port uniquement en local sur mon serveur et de demander Ă  Nginx de s’occuper de la distribution de contenu pour vous mes fidèles visiteurs :-)

Au niveau du contenu statique, j’ai un sous domaine pictures.korben.info qui diffuse uniquement les images du site. J’ai donc choisi de faire distribuer ces fichiers directement par le Nginx plutĂ´t que par Apache. Autre avantages de Nginx, c’est qu’il gère le loadbalancing, ce qui sera pratique quand je commencerai Ă  faire plus de trafic que Facebook… (ouais j’y crois !!!)

Voici au final Ă  quoi ressemble la config que j’ai mis en place :

reso Mettre en place un Reverse Proxy Nginx sur son serveur

Z’avez vu ? Je fais des beaux schĂ©mas ! C’est grâce Ă  Pencil qui est sorti en 1.1 RC1 (ça c’Ă©tait la news dans la news !!)

Bref, trĂŞve de blabla, si vous ĂŞtes chaud, on attaque !

Avant tout, vous allez stopper votre Apache (sudo /etc/init.d/apache2 stop). Puis on va installer Nginx

sudo apt-get install nginx

Ensuite, on va éditer le fichier /etc/nginx/nginx.conf
Voici ce que j’ai mis dans le mien :


user www-data;
worker_processes  2;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    access_log  /var/log/nginx/access.log;
    server_names_hash_bucket_size 64;
    sendfile        on;
    tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;
    gzip  on;
    gzip_comp_level   5;
    gzip_http_version 1.0;
    gzip_min_length   0;
    gzip_types        text/plain text/html text/css image/x-icon  application/x-javascript;
    gzip_vary         on;
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

worker_processes Ă  2, c’est pour indiquer le nombre d’instance de Nginx que je souhaite lancer pour traiter tout ce business… J’ai mis Ă  2 pour voir et je rĂ©duirai / augmenterai après mes tests.
worker_connections Ă  1024, cela veut dire que chaque process est capable d’encaisse 1024 connexions simultannĂ©es (pas visiteurs hein, connexions !). Pour le reste, je vous invite Ă  lire la doc mais globalement, j’ai activĂ© la compression gzip pour que ça booste encore un peu plus et j’ai laissĂ© le timeout Ă  65 secondes.

A la fin, vous pouvez voir que j’apelle tous les .conf dans /conf.d/ et tous les /sites-enabled/
On va donc aller éditer ces fichiers.
Commençons par /conf.d/proxy.conf. Voici ce qu’il faut mettre dedans pour qu’il fonctionne comme un proxy. Idem pour la doc si vous voulez en savoir plus sur les paramètres mais globalement, vous pouvez rĂ©gler ici les tailles de buffers pour gĂ©rer les entĂŞtes et corps envoyĂ©s par les clients afin de pouvoir par exemple rĂ©cuperer des gros cookies ou ce genre de choses (de ce que j’ai pu comprendre).


proxy_redirect          off;
proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
client_header_buffer_size 64k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size   16k;
proxy_buffers       32   16k;
proxy_busy_buffers_size 64k;

Et pour finir, dans site-enabled, un peu comme dans la config Apache, j’ai Ă©ditĂ© le fichier default dans lequel j’ai mis les choses suivantes (mes commentaires sont dans le code ci-dessous) :


#PREMIERE CONFIG : Ici je dit que sur le port 80, pour le domaine
#korben.info, nginx va chercher les pages en local (127.0.0.1)
#sur l'Apache qui est configuré en port 8080
server {
        listen   80;
        server_name  korben.info;
        access_log  /var/log/korben.access.log;
        error_log  /var/log/korben.nginx_error.log debug;
        location / {
                proxy_pass         http://127.0.0.1:8080/;
        }
#Et je rajoute PHPMYADMIN dans la foulée
        location /phpmyadmin {
                proxy_pass         http://127.0.0.1:8080/phpmyadmin;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   /var/www/nginx-default;
        }

}
#SECONDE CONFIG : Ici je dit que sur le port 80, tout ce qui est
#pour le domaine pictures.korben.info doit être envoyé directement
#par le Nginx et se trouve dans le repertoire /var/www/monsite/wp-content/uploads/
server {
listen   80;
server_name  pictures.korben.info;
location = /50x.html {
root /var/www/nginx-default;
 }
 access_log /var/log/pictures.nginx.access.log;
 error_log /var/log/picture.nginx.error.log;
index index.html;
location / {
     expires     max;
     root  /var/www/monsite/wp-content/uploads/;
        }
}

AyĂ©, on a fait le plus dur. Maintenant, on va configurer l’Apache pour qu’il cause sur le port 8080 uniquement. Voici ce que j’ai mis dans le fichier /etc/apache2/ports.conf

NameVirtualHost *
Listen 127.0.0.1:8080

Et dans mes site-enabled Apache, j’ai bien mis en dĂ©but de fichier afin d’indiquer une nouvelle fois (on n’est jamais trop prudent) que tout se passe sur le port 8080.
Dernière petite chose. Pour que l’Apache logue correctement les IPs qui se connectent Ă  votre serveur, il faut installer le module suivant :

sudo apt-get install libapache2-mod-rpaf

Et voilĂ  ! Il ne reste plus qu’Ă  dĂ©marrer l’Apache sur son nouveau port, et le Nginx sur le port 80.

  • sudo /etc/init.d/apache2 start
  • sudo /etc/init.d/nginx restart (ou reload ou start)

Allez ensuite sur votre site et si ça ne fonctionne pas c’est que vous vous ĂŞtes plantĂ© quelque part dans la config. En cas d’abandon de votre part, il suffit tout simplement de shooter le nginx et de remettre l’Apache sur le port 80 et ça sera reparti comme en 40 ! :-) Si vous souhaitez apporter des corrections / prĂ©cisions Ă  ce petit tuto, n’hĂ©sitez pas !

A vous la toute puissance de l’internet rapide, le succès avec les femmes et un meilleurs rĂ©fĂ©rencement (oui car Google tient compte maintenant du critère de vitesse dans le rĂ©fĂ©rencement des sites)

Love !

The Pirate Bay nous souhaite de bonnes fĂŞtes

tpbnerepondplus The Pirate Bay nous souhaite de bonnes fĂŞtes

Pour fĂŞter la fin de cette annĂ©e 2009 (pleine de rebondissements !), ThePirateBay s’est relookĂ© avec son template de 2003, date de son lancement ! L’Ă©quipe revient d’ailleurs sur ses dĂ©buts en expliquant qu’ils ont commencĂ© cette annĂ©e lĂ  avec un petit serveur au Mexique et que depuis, ils ont toujours essayĂ© de faire plus qu’un simple tracker torrent… et je pense qu’ils ont fait la diffĂ©rence !

Capture 22 The Pirate Bay nous souhaite de bonnes fĂŞtes

Un peu en avance, je souhaite une bonne année 2010 (et encore une très longue vie) à nos pirates préférés !

Merci Adrien pour l’info !

Joyeux Noël 2009 pour faire original !



Ôh Ôh Ôh !

Toute l’Ă©quipe de Korben.info (c’est Ă  dire moi tout seul) est heureuse de vous souhaiter un Joyeux NoĂ«l 2009 qui sera sans doute le dernier noĂ«l de cette annĂ©e !

Alors profitez en bien ! Mangez comme des porcs, picolez comme des trous (un peu) pour oublier que vous bossez lundi, enjoyez votre famille (mais pas trop ! Faudrait pas oublier vos cyber-amis sur twitter), et par pitiĂ©, n’allumez pas la TV ! Mettez de la musique et dansez comme des zombies nazis sous acide jusqu’au petit matin ! Ça me fera plaisir !

Pensez quand mĂŞme Ă  bien mettre le petit Jesus dans la crĂŞche ce soir Ă  minuit et ne boxez pas votre grand mère parce qu’elle vous a offert une PopStation Ă  la place de votre PSP tant dĂ©sirĂ©e ! Et puis trinquez Ă  ma santĂ© ! Je vous aime et surtout n’oubliez pas que vous avez encore jusqu’au 31 dĂ©cembre Ă  minuit pour m’envoyer vos put*ins de boites de chocolats noirs que j’attends depuis un moment ! J’AI RIEN REÇU ENCORE BORDEL !! Youuuhouuuu ?!!

;-)

Allez, je vous dis à très vite !!

VideoLan Movie Creator

capture020720082412pm9 VideoLan Movie Creator

Ah ils sont chaud bouillants les dĂ©veloppeurs de VLC ! Après leur chef d’oeuvre de player multimĂ©dia (qui a mis son petit bonnet pour NoĂ«l), ils s’attaquent Ă  un gros steak : L’Ă©dition de vidĂ©o.

Et pour ce faire, ils ont commencé à travailler sur un nouveau projet open source baptisé VLMC pour VideoLan Movie Creator. Evidemment, pour le moment le soft est encore un tout petit bébé pas du tout exploitable mais sachez que les sources sont disponible ici : http://github.com/VLMC/vlmc

zK2Sm VideoLan Movie Creator

Bien qu’il existe de nombreuses solutions (payantes ou gratuites) pour Ă©diter de la vidĂ©o, je n’ai jamais vraiment trouvĂ© quelque chose de simple mais Ă  la fois complet pour faire quelques montages vidĂ©o (en tout cas sous Linux). Du coup, je place beaucoup d’espoir dans ce nouveau logiciel qui s’il est du niveau de VLC risque de beaucoup compter dans les annĂ©es Ă  venir !

Allez, je vous met une petite démo en vidéo pour que vous puissiez apprécier la bestiole.

Allez au boulot les petits gars de l’Epitech ! :-)

Le fail du twitter Chinois

51430180 Le fail du twitter Chinois

Ils sont fun en Chine. Lorsqu’un service internet ne leur plait pas, le gentil gouvernement coupent l’accès Ă  ses 1,3 milliard de compatriotes tout en n’oubliant pas de sortir leur propre contrefaçon !

Et quel succès !

C’est ce qui est arrivĂ© avec Twitter rĂ©cemment. Comme ils ne contrĂ´laient pas ce que disaient les opposants au rĂ©gime sur le site amĂ©ricain, ils ont dĂ©cidĂ© simplement de couper l’accès au service de microblogging. Et du coup, le gouvernement chinois a lancĂ© people.com.cn qui est un clone de Twitter en Chinois, avec censure et log d’adresses IP s’il vous plait !

MĂŞme le nom du prĂ©sident Hu Jintao est bloquĂ© ! Interdiction d’en parler !

51430329 Le fail du twitter Chinois

Mais en Chine, la colère gronde et en quelques heures, ce sont des milliers de messages « illĂ©gaux » qui ont envahi le site en provenance d’opposants chinois, notamment pour protester contre l’enfermement de Liu Xiaobo, un dĂ©fenseur des droits de l’homme. Ce flot de message a empĂŞché les modĂ©rateurs de faire correctement leur boulot et du coup, gros fail pour le gouvernement qui a du fermer le site en urgence (pour pouvoir supprimer les vilains messages et amĂ©liorer leur système de censure automatique)

Aaaah gĂ©nial ! C’est ça aussi la NATIONALISATION d’internet :-)

[source]