294 votes

Ce qui est une alternative plus rapide à Python ' s SimpleHTTPServer ?

<p>SimpleHTTPServer de Python est une excellente façon de servir le contenu du répertoire courant de la ligne de commande :<pre><code></code></pre><p>Toutefois, pour autant que les serveurs web aller, c’est très slooooow...</p><p>Elle se comporte comme si elle est célibataire fileté et parfois provoque des erreurs de délai d’attente lors du chargement de modules JavaScript AMD à l’aide de RequireJS. Cela peut prendre cinq à dix secondes pour charger une page simple sans images.</p><p>Ce qui est une alternative plus rapide qui soit aussi pratique ?</p></p>

386voto

Drew Noakes Points 69288

serveur http pour node.js est très pratique, et qui est beaucoup plus rapide que Python SimpleHTTPServer.

Installation

Installer node.js si vous ne l'avez pas déjà. Ensuite, utilisez le nœud gestionnaire de paquets (npm) pour installer le paquet, à l'aide de l' -g option d'installation à l'échelle mondiale. Si vous êtes sur Windows, vous aurez besoin d'une invite de commandes avec des autorisations d'administrateur, et sur Linux/OSX, vous aurez envie d' sudo la commande:

npm install http-server -g

Cela permettra de télécharger toutes les dépendances nécessaires et installez http-server.

Utilisation

Maintenant, à partir de n'importe quel répertoire, vous pouvez taper:

http-server [path] [options]

Chemin d'accès est facultatif, par défaut ./public si elle existe, sinon, ./.

Les Options sont [valeurs par défaut]:

  • -p Le numéro de port à écouter sur [8080]
  • -a L'adresse de l'hôte à se lier à [localhost]
  • -i D'affichage d'index de répertoire pages [Vrai]
  • -s ou --silent mode Silencieux ne pas connecter à la console
  • -h ou --help Affiche le message d'aide et quitte

Alors, pour servir le répertoire en cours sur le port 8000, tapez:

http-server -p 8000

104voto

Peter Gibson Points 5376

Je recommande: Twisted (http://twistedmatrix.com)

un événement piloté par les réseaux moteur écrit en Python et sous licence open source licence MIT.

Il est multi-plateforme et préinstallé sur OS X depuis 10.5. Entre autres choses, vous pouvez démarrer un simple serveur web dans le répertoire courant:

twistd -no web --path=.

Détails

Explication des Options (voir twistd --help de plus):

-n, --nodaemon       don't daemonize, don't use default umask of 0077
-o, --no_save        do not save state on shutdown

"web" est une Commande qui exécute un simple serveur web sur le dessus de la torsion du moteur asynchrone. Il accepte également des options de ligne de commande (après le "web" de la commande - voir twistd web --help de plus):

  --path=             <path> is either a specific file or a directory to be
                      set as the root of the web server. Use this if you
                      have a directory full of HTML, cgi, php3, epy, or rpy
                      files or any other files that you want to be served up
                      raw.

Il y a aussi un tas d'autres commandes telles que:

conch            A Conch SSH service.
dns              A domain name server.
ftp              An FTP server.
inetd            An inetd(8) replacement.
mail             An email service
... etc

Installation

Ubuntu

sudo apt-get install python-twisted-web (or python-twisted for the full engine)

Mac OS-X (préinstallé depuis 10.5, ou est disponible dans Macports)

sudo port install py-twisted

Windows

installer available for download at http://twistedmatrix.com/

29voto

pd40 Points 2049
<p><a href="http://stackoverflow.com/questions/tagged/go" class="post-tag" title="show questions tagged 'go'" rel="tag">aller</a> 1.0 inclut un <a href="http://golang.org/pkg/net/http/#ListenAndServe">serveur http</a> &amp; <a href="http://golang.org/pkg/net/http/#FileServer">util pour servir des fichiers</a> avec quelques lignes de code.<pre class="lang-go prettyprint-override"><code></code></pre><p>Exécuter cette source à l’aide de <code></code> ou pour créer un exécutable<code></code></p></p>

21voto

Hudon Points 769
<p>Essayez <a href="http://linux.bytesex.org/misc/webfs.html">webfs</a>, elle est minuscule et ne dépend pas avoir une plate-forme comme node.js ou python installé.</p>

14voto

Drew Noakes Points 69288
<p>Si vous utilisez Mercurial, vous pouvez utiliser le bâti du serveur HTTP. Dans le dossier que vous souhaitez servir jusqu'à :<pre><code></code></pre><p>De <a href="http://mercurial.selenic.com/wiki/hgserve">la documentation</a>:</p><pre><code></code></pre></p>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X