Configurez Kodi IPTV m3u en moins de 2 minutes et regardez des chaînes illimitées

NGINX FAQ

Vues : 3

Questions générales

Comment prononcez-vous « NGINX » ?

Il semble y avoir une certaine confusion entourant la prononciation de NGINX.

Clé de prononciation

Correcte

  • en-juhn-eks*
  • Moteur-X

Incorrect

  • en-jingks

Est-il sécuritaire d’utiliser la branche de développement en production?

En général, toutes les versions (développement ou autre) sont assez stables. Ce site exécute la dernière version de développement en tout temps. Beaucoup d’utilisateurs de NGINX ont tendance à représenter une foule « adopteur précoce », de sorte qu’un grand segment utilise la version saignement-bord à un moment donné. Le point majeur et le plus important au sujet de la version de développement est qu’elle peut parfois casser les API pour les modules tiers (les API sont parfois modifiées dans la branche développement). Autre que cela, il obtient tous les bugfixes non-urgence d’abord.

Cela dit, si la stabilité est cruciale, il est préférable de tenir brièvement le déploiement après une sortie de développement; les bogues critiques ont tendance à s’afficher dans les deux premiers jours (ce qui entraîne souvent une autre version immédiatement après). Si aucune nouvelle version n’apparaît dans deux ou trois jours, alors il est probable que personne n’a trouvé de bogues critiques. Dans le cas où vous découvrez un bogue, capturez un journal de débogage et soumettez un rapport de bogue descriptif !

Comment puis-je générer un fichier .htpasswd sans avoir d’outils Apache installés ?

  • Dans Linux (et d’autres Posix): donné aux utilisateurs John, Mary, Jane, et Jim avec des mots de passe V3Ry, SEcRe7, V3RySEcRe7, et SEcRe7PwD, afin de générer un fichier de mot de passe nommé .htpasswd, vous émettriez:

    printf "John:$(openssl passwd -crypt V3Ry)\n" >> .htpasswd # this example uses crypt encryption
    
    printf "Mary:$(openssl passwd -apr1 SEcRe7)\n" >> .htpasswd # this example uses apr1 (Apache MD5) encryption
    
    printf "Jane:$(openssl passwd -1 V3RySEcRe7)\n" >> .htpasswd # this example uses MD5 encryption
    
    (PASSWORD="SEcRe7PwD";SALT="$(openssl rand -base64 3)";SHA1=$(printf "$PASSWORD$SALT" | openssl dgst -binary -sha1 | xxd -ps | sed 's#$#'"`echo -n $SALT | xxd -ps`"'#' | xxd -r -ps | base64);printf "Jim:{SSHA}$SHA1\n" >> .htpasswd) # this example uses SSHA encryption
    
  • Ou, vous pouvez utiliser les éléments suivants crypt.pl script Perl. Il suffit de l’enregistrer comme (par exemple) et afin d’être en mesure de l’exécuter.crypt.plchmod 700 crypt.pl

    #!/usr/bin/perl
    use strict;
    
    chomp(my $filename=$ARGV[0]);
    chomp(my $username=$ARGV[1]);
    chomp(my $password=$ARGV[2]);
    
    if (!$filename || !$username || !$password) {
      print "USAGE: ./crypt.pl filename username password\n\n";
    } else {
      open my $fh, ">>", $filename or die $!;
      print $fh $username . ":" . crypt($password, $username) . "\n";
      close $fh or die $!;
    }
    
  • Ou, vous pouvez utiliser le script htpasswd.py python.

Pourquoi ma configuration $foo (p. ex. réécriture, proxy, emplacement, unix:/$PATH, etc.) ne fonctionne-t-elle pas pour moi ?

Commencez par étudier les causes possibles de problèmes. Passez en revue le débogage et regardez attentivement LINE BY LINE à travers le journal des erreurs.

Si vous ne pouvez pas déterminer la cause du problème par le biais de tests, d’expérimentations, de recherches sur le net, etc., puis recueillir tous les détails pertinents et expliquer clairement votre problème sur IRC ou dans une note à la liste de diffusion. (Si vous êtes nouveau à interagir avec les communautés de soutien FOSS, s’il vous plaît lire: Comment poser des questions de la manière intelligente.)

Y a-t-il d’autres serveurs Web similaires ?

Ce que la plupart des gens entendez par « similaire » dans ce contexte est: « léger » ou « pas Apache ». Vous pouvez trouver de nombreuses comparaisons à l’aide de Google, mais la plupart des serveurs Web se entrôlent en deux catégories : basée sur les processus (forking ou threaded) et asynchrone. NGINX et Lighttpd sont probablement les deux serveurs asynchrones les plus connus et Apache est sans aucun doute le serveur basé sur les processus le plus connu. Cherokee est un serveur basé sur les processus moins connu (mais avec des performances très élevées).

Le principal avantage de l’approche asynchrone est l’évolutivité. Dans un serveur basé sur le processus, chaque connexion simultanée nécessite un thread qui entraîne des frais généraux importants. Un serveur asynchrone, d’autre part, est axé sur l’événement et gère les demandes en un seul (ou du moins, très peu) threads.

Bien que les serveurs basés sur le processus puissent souvent fonctionner à égalité avec les serveurs asynchrones sous des charges légères, sous des charges plus lourdes, ils consomment généralement beaucoup trop de RAM, ce qui dégrade considérablement les performances. En outre, leurs performances se dégradent beaucoup plus rapidement sur du matériel moins puissant ou dans un environnement restreint aux ressources comme un VPS.

Tirer des nombres de l’air mince à des fins illustratives: servir 10.000 connexions simultanées serait probablement seulement provoquer NGINX à utiliser quelques mégaoctets de RAM, tandis qu’Apache serait probablement consommer des centaines de mégaoctets (si elle pouvait le faire à tous).

Le soutien à la chroot est-il prévu?

Inconnu pour le moment. Sauf si cela change, vous pouvez obtenir un effet similaire – ou mieux – en utilisant des fonctionnalités de niveau OS (par exemple, avec sur Linux, etc.).BSD JailsOpenVZproxyarp

Qu’en est-il du soutien pour quelque chose comme mod_suexec?

mod_suexec est une solution à un problème que NGINX n’a pas. Lors de l’exécution de serveurs tels qu’Apache, chaque instance consomme une quantité importante de RAM, il devient donc important d’avoir seulement une instance monolithique qui gère tous ses besoins. Avec NGINX, la mémoire et l’utilisation du processeur sont si faibles que l’exécution de dizaines d’instances de celui-ci n’est pas un problème.

Une configuration NGINX comparable à Apache + est d’exécuter une instance distincte de NGINX en tant qu’utilisateur de script CGI (c’est-à-dire l’utilisateur qui aurait été spécifié comme utilisateur suexec sous Apache),puis proxy à celui de l’instance principale NGINX.mod_suexec

Alternativement, PHP pourrait simplement être exécuté par FastCGI, qui lui-même serait exécuté sous un compte d’utilisateur de script CGI.

Note

mod_php (le module suexec est normalement utilisé pour se défendre contre) n’existe pas avec NGINX.

HTTP (en)

Qu’est-ce que cette chose @ signifie?

@location’est un endroit nommé. Les emplacements nommés $uri comme c’était le était avant d’entrer dans le dit emplacement. Ils ont été introduits en 0,6,6 et ne peuvent être atteints que par error_page, post_action (depuis 0,6,26) et try_files (depuis 0,7,27, ramené à 0,6,36).

HTTP Proxying

Pour quels cas d’utilisation générale NGINX est-il plus approprié que le calmar? (Et vice versa…)

NGINX est généralement déployé comme un proxy inverse, pas comme un proxy de mise en cache (comme Squid). L’avantage principal avec NGINX est son utilisation nominale de RAM et de CPU sous la charge lourde. Squid est mieux appliqué au contenu dynamique de cache pour les applications qui ne peuvent pas le faire eux-mêmes.

Le ngx_http_proxy_module des configurations pour la mise en cache des serveurs en amont.

Puis-je désactiver la mise en mémoire tampon pour les progrès de téléchargement ? / Comment puis-je afficher les progrès de téléchargement du côté client ?

Ce sont deux questions très fréquemment posées.

Actuellement, la seule solution est le module tiers NGINX Upload Progress Module.

(Cette fonctionnalité est prévue pour une prochaine version de NGINX.)

Proxying par la poste

Quelqu’un pourrait-il expliquer comment configurer et tester le module IMAP (avec un exemple complet .conf)?

Commencez par la configuration de l’exemple proxy IMAP.

Pour plus d’informations sur les différents paramètres de configuration, consultez ngx_mail_core_module page.

Ressources connexes :

Comment NGINX peut-il être déployé en tant que proxy SMTP, avec un backend Postfix ?

Tout d’abord, déclarez la partie courrier comme suit :

mail {
    server_name mail.somedomain.com;

    auth_http localhost:8008/auth-smtppass.php;

    server {
        listen 212.104.99.24:25;
        protocol smtp;
        timeout 5s;
        proxy on;
        xclient off;
        smtp_auth none;
    }
}

L’exemple est pour les e-mails non autorisés comme vous pouvez le voir, mais si vous avez besoin d’authentification il suffit de consulter les informations ngx_mail_core_module sur la façon de le réaliser. Postfix par défaut ne prend pas en charge XCLIENT, de sorte qu’il a été désactivé dans l’exemple ainsi.

Ensuite, vous devez configurer l’authentification back end. Si vous avez juste besoin d’avoir une sorte de mode de passage vers une seule adresse, vous pouvez le faire avec le code suivant:

http {
    log_format main
        '$remote_addr - $remote_user [$time_local] '
        '"$request" $status $bytes_sent '
        '"$http_referer" "$http_user_agent" '
        '"$gzip_ratio"';

    server {
        listen 127.0.0.1:8008;
        server_name localhost;
        access_log /var/log/nginx/localhost.access_log main;
        error_log /var/log/nginx/localhost.error_log info;

        root /var/www/localhost/htdocs;

        location ~ .php$ {
            add_header Auth-Server 127.0.0.1;
            add_header Auth-Port 25;
            return 200;
        }
    }
}

Fondamentalement, il accepte les connexions, et pour une demande vers un fichier .php, il renvoie le code 200 et l’adresse de la (dans ce cas) Postfix back end (ici, 127.0.0.1:25).

Équilibrage

Quel algorithme NGINX utilise-t-il pour charger l’équilibre ? Peut-il équilibrer en fonction de la charge de connexion?

Actuellement, NGINX a round-robin, les connexions les moins et ip-hash algorithmes (tous viennent avec des poids).

Il existe également un certain nombre de modules tiers pour l’équilibrage de la charge.

Note

De nombreux utilisateurs ont demandé à NGINX d’implémenter une fonctionnalité dans l’ équilibreur de charge pour limiter le nombre de demandes par back end (généralement à un). Bien que la prise en charge de cette fonctionnalité soit planifiée, il convient de mentionner que la demande pour cette fonctionnalité est enracinée dans une mauvaise conduite de la part de l’application étant proxied « à » (Ruby on Rails semble être un exemple). Il ne s’agit pas d’un problème NGINX. Dans un monde idéal, cette demande de correctif particulier serait dirigée vers l’application back-end et sa (in)capacité à traiter les demandes simultanées.

Divers

Pourquoi est-ce que je vois « Bienvenue au nginx! » alors que j’essaie d’accéder à Facebook, Yahoo!, Google ou un autre site bien connu? NGINX est-il un virus ?

NGINX n’est pas un virus. S’il vous plaît vérifier une description détaillée ici:

Bienvenue à nginx!

Translate this page