Nginx. L'arme qui boutera le capitalisme hors de nos frontières.

Nginx. L'arme qui boutera le capitalisme hors de nos frontières. - Logiciels - Linux et OS Alternatifs

Marsh Posté le 10-06-2011 à 10:52:49    

Gros copier coller de http://wiki.nginx.org/NginxFr

 

(j'ai mis en gras la partie intéressante pour éviter de lire toutes mes conneries)

 

Nginx est un serveur HTTP libre, open-source et haute performance ; ainsi qu'un proxy inverse. Ainsi il intègre également du proxy pour l'IMAP et le POP3. Igor Sysoev a commencé le développement de Nginx en 2002, avec une première version publique en 2004. Nginx héberge actuellement près de [(22.8M)] des noms de domaine à travers le monde.

 

Nginx est reconnu pour ses hautes performances, sa stabilité, son ensemble de fonctionnalités, sa configuration simple ainsi que sa faible consommation de ressources.

 

Nginx est l'un des rares serveurs développé pour le problème des "C10K" (en). Contrairement aux serveurs traditionnels, Nginx ne relie pas un processus à une requête client. A la place, il utilise un système évolutif et une architecture asynchrone. Cette architecture utilise de petites, mais plus important, prévisibles quantité de mémoire sous forte charge.
Même si vous n'avez pas besoin de gérer des milliers de requêtes simultanées, vous pouvez bénéficier des hautes performances de Nginx ainsi que de sa faible empreinte mémoire. Nginx est évolutif dans les deux sens : du plus petit VPS (ou VDS) aux infrastructures cluster.

 

Nginx fait contionner plusieurs sites à forte visibilité tels que : WordPress, Hulu, Github, Ohloh et TorrentReactor.

 


Bonjour à tous,

 

j'utilise dans la vie de tout les jours le serveur web apache et travaillant dans le monde de l'hébergement, je l'utilise surtout avec Plesk (j'en vois un ramasser une pierre au fond).

 

Mais c'est là que tu la reposes et que les étoiles apparaissent dans tes yeux jeune barbu :

 

J'ai envie aujourd'hui d'arrêter toutes ces conneries, troquer mes chaussures de skates contre des doc martens, abandonner la 86 en canette contre de la kaastel en bouteille. Oui je veux évoluer ! La semaine prochaine je m'achète un peigne tiens !

 

Donc je suis en train de tenter l'installation de nginx non sans mal vu que ma culture linuxienne a été dépravé par 3 ans d'utilisations intensive de plesk.
Je suis venu ici en quête d'information chez toi gentil forumer altruiste.

 

Il existe beaucoup de site parlant de ce sujet mais je n'en ai pas trouvé sur HFR et j'ai été peiné.
Il se peut que dans mon sondage soit écrit des énormes conneries au passage...

 

Bon rentrons dans le vif du sujet...

 

J'utilise une Ubuntu 8.04 LTS actuellement et bon bah j'ai réussi déjà à faire le serveur web. C'est pas excessivement compliqué et le tutoriel sont bien fait.
Maintenant vient le moment de tout passer en dynamique.

 

En gentil newbie que je suis j'ai commencé par virer apache en mode "non plus jamais apache je suis sous nginx maintenant".
Autant dire que bon bah ça n'a pas marché et je commence à buter sur les tutos qui commencent à être un peu velus pour moi.
Pourquoi n'ai je pas mieux suivi mes cours d'IUT sur les expressions régulières et les caractères de remplacement ?

 

C'est pour cela que j'aimerai commencer à avoir votre avis grace à ce sondage.

 

Il apparait deux modes de fonctionnement principaux pour faire marcher nginx :

 

Nginx + php en cgi (fast cgi, cgi, python(non ça c'est une connerie) ) qui apparemment est pas top dès qu'on monte en charge ou alors d'utiliser nginx en mode "proxy" pour déployer toute la partie static des sites via nginx et ensuite renvoyer tout ce qui est dynamique vers apache2(avec php en module) qui pour le coup fait pas trop mal son taff.
J'ai entendu parler de php en fpm (http://php-fpm.org/) est ce intéressant ?

 

Pour le moment je m'appuie beaucoup sur les sites suivants (tous en anglais désolé) :

 

http://wiki.nginx.org/Configuration
http://www.nginx.org/en/
http://kbeezie.com/
(notamment http://kbeezie.com/view/nginx-configuration-examples/ pour les exemples de scripts).

 


Ce topic bien qu'étant surtout là pour m'aider (bah ouais...) je l'espère pourrait regrouper quelques avis, voir quelques utilisateurs de nginx pour devenir la plateforme française de discussion autour de ce sujet(voir francophone, voir mondiale !). Imaginez des discours enflammés autour de "non je préfère utiliser un 'if' car 'try' c'est vraiment pour les pignoufs !".
Et puis bon quand on tape nginx et hfr y a pas encore de réponse sur google donc ça serait une bonne occasion de réparer ça.

 

Si il existe déjà un topic unik ou je pourrais venir déverser ma diatribe (j'avais parié que je placerai ce mot), je veux bien que vous me l'indiquiez.

 


Comme ils disent dans l'armée :

 

FEU !

  

ps : il va de soit que je réduirai le texte si le topic perdure.

Message cité 1 fois
Message édité par mbl le 10-06-2011 à 10:56:37

---------------
-3dB
Reply

Marsh Posté le 10-06-2011 à 10:52:49   

Reply

Marsh Posté le 10-06-2011 à 11:04:51    

Citation :

Nginx est reconnu pour ses hautes performances, sa stabilité, son ensemble de fonctionnalités, sa configuration simple ainsi que sa faible consommation de ressources.


 
Je l'utilise pour sa faible consommation de ressources sur un Dockstar qui accueille au max 3 utilisateurs en simultané. Très satisfait, il fonctionne aussi bien que les autres pour cet usage tout en mangeant moins de RAM.
Je l'utilise pour du statique et du dynamique avec php: piwigo et ampache tournent dessus.


Message édité par snk4ever le 10-06-2011 à 11:06:29
Reply

Marsh Posté le 15-06-2011 à 00:16:19    

hum,  
 
perso j'ai encore du apache + squid pour le contenu statique.
 
Est-ce possible de faire du reverse proxy + cache avec nginx ? et bien sur que le cache soit persistant sur disque ?
 
j'avais testé aussi varnish, mais à l'époque je n'avais pas vu de persistance pour le cache.

Reply

Marsh Posté le 15-06-2011 à 09:52:55    

mbl a écrit :

Nginx + php en cgi (fast cgi, cgi, python(non ça c'est une connerie) ) qui apparemment est pas top dès qu'on monte en charge ou alors d'utiliser nginx en mode "proxy" pour déployer toute la partie static des sites via nginx et ensuite renvoyer tout ce qui est dynamique vers apache2(avec php en module) qui pour le coup fait pas trop mal son taff.  
J'ai entendu parler de php en fpm (http://php-fpm.org/) est ce intéressant ?[/b]  


 
J'ai pas encore fait de test en production mais je suis très contre l'utilisation de mod_php, qui va charger PHP en mémoire pour chaque processus Apache et donc consommer énormément de mémoire en charge.  
En plus, tu es obligé d'utiliser le module Apache mpm_prefork (utilisation de processus uniquement et pas de thread, car PHP n'est pas thread safe).
 
En utilisant FastCGI et php-cgi, tu peux fixer le nombre de processus PHP à garder en mémoire et faire un réglage fin, et utiliser mpm_worker (Apache utilise massivement des thread pour répondre aux requêtes entrantes, puis délègue l'interpretation des scripts PHP à un pool de processus PHP gardés en mémoire).
 
La solution du futur, c'est vraiment fastcgi + php-fpm qui est un très bon gestionnaire de processus pour PHP (au passage, plus besoin de suexec pour Apache pour lancer des scripts sous un utilisateur particulier, et de grosses améliorations sur l'utilisation de système de cache d'opcode).  
Le soucis, c'est que c'est pas encore packagé dans toutes les distributions stables comme Debian, même si c'est mature.

Reply

Marsh Posté le 06-07-2011 à 12:14:40    

J'ai suivi tes conseils et j'ai mis en place une debian 6 avec nginx et php-fpm.  
 
L'installation de nginx en lui même est super facile (genre apt-get install nginx et prendre le premier fichier default sur le net).  
Toutefois pour le php ce fut un peu galère.  
 
Là je suis à l'étranger mais je ferai un petit récapitulatif de mon installation afin de montrer comment en tant que newbie total on peut créer rapidement son serveur nginx bourré de failles et de mauvaises manipulations.  
 
J'ai actuellement Deux sites web dont un avec deux sous domaine (www, photos).  
 
Quelques problèmes de compatibilités persiste mais je pense que c'est plus lié aux cms que j'utilise.  
 
J'ai été impressionné de la facilité d'utilisation et de la compatibilité en tout cas.
 
 
 
Dam1330 : De ce que j'ai pu lire, nginx est fait pour ça. A la base il s'agit d'un proxy.


---------------
-3dB
Reply

Marsh Posté le 06-07-2011 à 14:21:25    

Nginx n'est pas qu'un proxy, c'est surtout un serveur web super rapide pour le contenu statique. Ensuite il a plein d'autre avantages :

  • Le reverse proxy
  • Le reverse proxy avec cache
  • Le fastcgi avec cache
  • Une gestion du cache dans le https pour réduire la consommation CPU
  • ...


Sinon pour me vanter ;) : un nginx avec du PHP en Fastcgi sur un Dockstar (ARM avec 128Mo de RAM) ça consomme 16Mo de RAM et ça gère sans problème ~2000 pages vues par jour.


---------------
Minus et Cortex forever. Tutoriels sur Debian, XFCE, Dockstar, Nginx, ...
Reply

Marsh Posté le 18-07-2011 à 22:37:00    

Hello, je me demandais si nginx était capable de ce genre de chose:
 
https://requete:443 ==> nginx (analyse user-agent)
 
- si user-agent = X  ==> pool_de_serveurs_1
- si user-agent = Y  ==> pool_de_serveurs_2
 
La requête étant SSL !

Reply

Marsh Posté le 28-07-2011 à 12:04:44    

décu! c'est quoi ce sale titre ... bon suis peut-être trop crédule ...


---------------
"La chance de voir une biche" Archlinux :: http://www.archlinux.org/ ::
Reply

Marsh Posté le 28-07-2011 à 13:33:27    

ça s'appelle de l'humour, c'est assez en vogue


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 06-09-2012 à 18:03:52    

OSA [:wark0]

 

J'ai supposé que ce thread faisait office de topic unique...

 

Sous NginX donques, j'aimerais spécifier une error_page valable pour tous les hosts, avec le fichier html correspondant à l'erreur situé à un emplacement arbitraire du FS :

 

- un include / les commandes idoines dans chaque host déclaré le ferait, mais c'est pas ce que je cherche ;
- la directive error_page est autorisée dans la section http, mais l'emplacement que l'on y spécifie est relatif à l'host courant* ;
- la directive location ne peut être balancée dans http, et c'est bien pour ça que je galère.

 

Merci d'avance  [:chaleur intempestive]

 

* Si dans http je spécifie error_page 404 /404.html et que j'ai deux hosts rootés dans /var/www/foo et /var/www/bar, le serveur cherchera en fonction de l'host visité /var/www/foo/404.html, et réciproquement.


Message édité par LeRiton le 06-09-2012 à 18:04:20
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed