servir répertoire courant à partir de la ligne de commande
quelqu'un pourrait-il me donner un indice, howto servir le répertoire courant, en ligne de commande avec ruby? il serait bon, si je peux avoir un système de configuration à l'échelle (par exemple, mime-types) et il suffit de le lancer à partir de chaque répertoire.
Vous devez vous connecter pour publier un commentaire.
Façon la plus simple possible (grâce Aaron Patterson/n0kada):
Alternes, plus complexe:
Même la première commande est dur de s'en rappeler, je viens donc dans mon
.bashrc
:Il sert le répertoire en cours sur le port 3000 par défaut, mais vous pouvez également spécifier le port:
ruby -run -e httpd . -p 9090
regarder ruby-doc.org/stdlib-2.0.0/libdoc/un/rdoc/index.html. C'est l'exécution de httpd méthode deun
rubis de la bibliothèque standard, donc exiger de l'onu.serve
gem qui va servir le répertoire en cours, mais aussi de rendre ERB, HAML, etc. get-serve.comruby -run -e httpd . -p 9090 &
Si vous voulez le ramener à l'avant-plan, l'utilisationfg
.Je n'ai jamais rien vu d'aussi compact que
pour Ruby, Chris réponse s'affiche plusieurs fois sur Google.
python -m http.server
... encore plus facile à mémoriser 🙂python -m SimpleHTTPServer 9090
Comme Aaron Patterson tweeté sortir aujourd'hui, vous pouvez faire:
Et vous pouvez définir le lier adresse aussi bien par l'ajout de
-b 127.0.0.1
Fonctionne avec Ruby 1.9.2 et plus.
Utiliser ruby gem Servir.
Installer sur votre système, exécutez
gem install serve
.Pour servir un répertoire, il suffit de cd dans le répertoire et exécuter
serve
.De port par défaut est de 4000. Il peut également servir de choses comme ERB, HAML, Mince et SASS.
Serveur Web en 1 ligne
Cela peut ou peut ne pas être tout à fait ce que vous voulez, mais c'est tellement cool que j'ai juste eu à partager.
J'ai utilisé dans le passé pour servir le système de fichiers. Vous pourriez peut-être modifier ou tout simplement accepter le fait qu'il sert à tout.
Je l'ai trouvé ici
Chris
Vous pouvez utiliser le
sinatra
gem, mais il ne fait pas de listing de répertoire pour vous, il sert de fichiers:puis exécuter en tant que fichier, si en 1.8 ajouter require 'rubygems' vers le haut de la première.
Après l'exécuter ensuite l'url est comme
http://localhost:4567/file_name
doit se résoudre à "./nom de fichier" fichier.
http://localhost:4567 ne fonctionne pas cependant, car il ne veut pas "faire" des listes de répertoire. Voir https://stackoverflow.com/a/12115019/32453 pour une solution de contournement.
ou si vous ne souhaitez pas utiliser le port par défaut 8000
ou si vous souhaitez autoriser les connexions à partir de localhost seulement
Voir le docs.