Question Comment démarrer facilement un serveur Web dans n'importe quel dossier?


Je cherche un moyen relativement facile de lancer un serveur Web avec la racine du document dans n'importe quel dossier que je spécifie (ou mieux encore, où je lance).

J'essaie souvent de nouvelles choses, comme les frameworks JS, dans un nouveau dossier, quelque part ici:

/home/alexander/code/angularjs/

Il serait alors pratique de simplement aller dans ce répertoire et taper quelque chose comme:

start-webserver-here 

de sorte qu'un serveur Web commence à écouter sur le port 80 et à servir ce répertoire, et je peux essayer tout ce sur quoi je travaille.

J'ai installé XAMPP mais il semble que ce soit Apache de base avec une racine de document que je devrais changer, avec des privilèges root même, avec des autorisations pour chaque dossier, etc.

Y a-t-il un moyen plus facile?


106
2017-11-15 10:42


origine


Quelqu'un a compilé une grande liste de doublures pour y parvenir: gist.github.com/willurd/5720255 - Abhinav Bhatia


Réponses:


Utilisation

python2 -m SimpleHTTPServer 80

ou

python3 -m http.server 80

pour démarrer un simple serveur HTTP.

Remplacer 80 avec un autre numéro si vous voulez qu’il écoute sur un autre port. Pour les ports <1024, il doit être exécuté avec les privilèges root.


160
2017-11-15 10:57



C'est exactement ce que je cherchais! Danke! - Alexander Rechsteiner
Pouvez-vous exécuter cela en parallèle à Apache? Sur un autre port bien sûr (bien que je vous accueillerais en me disant qu'ils peuvent utiliser les mêmes ports). - dibs
@dibs Oui, ils peuvent tous deux fonctionner en parallèle. Mais non, pas sur le même port. - Dan
L’équivalent de python 3.x est python3 -m http.server - Stefano Palazzo♦
C'est pourquoi j'aime tellement stackoverflow. Voyez ici le problème exact que je voulais trouver une âme pour ... lancez angularjs à partir d'un serveur web. Merci beaucoup Florian Deisch - SK176H


J'aime aussi utiliser PHP à cette fin, car cela me permet de lancer des choses comme WordPress à la volée et de développer des thèmes plus facilement (vous avez quand même besoin de MySQL):

php -S 0.0.0.0:8000

dans le même script cela commence ce que je commence aussi garde, qui actualise automatiquement le navigateur lors du changement de fichier.


21
2017-11-19 10:32



Notez que la fonctionnalité de serveur intégrée était ajouté en 5.4.0 - sierrasdetandil
Oui, vous avez besoin d'une version plus récente. La version dans les 13.10 repos si vous le faites sudo apt-get install php5 est 5.5.3, donc vous devriez être OK. - metakermit
Parfait! Exactement ce que je cherchais ! - Prakash Raman


si vous êtes plus rubis, le servir gem est génial

serve

ou pour i port différent:

serve 9000

installer avec gem install serve


17
2017-11-15 14:16



Cela fonctionne bien, mais il faut ruby> = 1.9.3 - Valerio Schiavoni
Ouais, mais aussi 1.9.3 est eol. Les correctifs de sécurité ne sont plus répliqués. Recommanderais rvm pour la gestion des rubis hérités. Ils ne devraient pas être le défaut de votre système - will-ob


Ceci est également possible dans Ruby sans installer de gem.

ruby -run -e httpd . -p5000


11
2017-11-20 23:22



N'a pas fonctionné pour moi Quelle version de ruby ​​avez-vous essayée? - Valerio Schiavoni
Fonctionne comme annoncé avec Ruby 2.5.1. - Raphael


Comme il y a angularjs dans le nom de votre dossier, il semble que ce soit une application angulaire js. Dans ce cas, assurez-vous de vérifier yeoman en dehors.

Pour citer son site

Yeoman 1.0 est plus qu'un simple outil. C'est un workflow; un ensemble d’outils et de bonnes pratiques qui fonctionnent en harmonie pour rendre le développement du Web encore meilleur.

Une des nombreuses autres choses est le bundled grunt serveur.


3
2017-11-19 10:37





Juste utiliser http-server, c'est un serveur de ligne de commande sans configuration.

La manière la plus simple de l'installer est d'utiliser npm:

sudo npm install http-server -g

Usage:

http-server [path] [options]

[path] par défaut à ./public si le dossier existe, et ./ autrement.

Pour voir votre serveur en visite d'action http: // localhost: 8080. Utilisation -p option pour définir un port différent.

Pour plus d'options, visitez: https://www.npmjs.com/package/http-server..


2
2017-07-04 22:43