[RUBY] Comment configurer un serveur de développement local

introduction

J'expliquerai le plus rudimentairement possible comment mettre en place une partie du système de fichiers sur un serveur local et y accéder depuis un navigateur pour vérifier le fonctionnement du développement d'applications Web.

Pour Python

C'est facile si votre environnement exécute Python. La bibliothèque Python standard dispose d'un module dédié qui peut être lancé directement depuis la ligne de commande. Les noms des modules sont différents entre Python 2 et 3, donc je vais vous expliquer chacun.

Python 2 utilise Simple HTTP Server. Si le numéro de port est omis, 8000 sera utilisé.

$ python -m SimpleHTTPServer [numéro de port (la valeur par défaut est 8000)]

Python 3 utilise http.server.

$ python3 -m http.server [numéro de port (la valeur par défaut est 8000)]

Maintenant, si vous accédez à http: // localhost: 8000 (ou simplement localhost: 8000) depuis votre navigateur, le serveur démarrera avec le répertoire démarré en tant que racine. Il répond à l'accès au répertoire comme suit (identique au comportement par défaut du serveur Apache):

Quittez le serveur avec Ctrl-C.

Pour Ruby

Depuis Ruby 1.9.3, il existe une fonction httpd dans le module Kernel, qui peut être démarrée à partir de la ligne de commande comme suit. La fonction est la même que Python.

$ ruby -run -e httpd . -p 8000

En fait, je ne le savais pas jusqu'à présent, et je l'ai trouvé dans les messages associés affichés immédiatement après le téléchargement du premier brouillon (j'ai reçu un commentaire d'udzura immédiatement après. Merci). Mais si vous êtes un programmeur Ruby, je recommande toujours la méthode suivante.

Je suis un programmeur Ruby et j'utilise toujours le gem Rack (Ruby avant la version 1.9.3 est également acceptable). Tout d'abord, installez Rack.

Rack est utilisé par de nombreux frameworks Ruby. Surtout si vous avez installé Ruby on Rails, vous n'avez pas besoin de le faire.

$ [sudo] gem install rack

sudo est requis si Ruby est installé dans votre répertoire système. (J'utilise) rbenv et RVM Non requis si vous utilisez l'outil de changement de version.

Ensuite, créez un petit fichier nommé config.ru dans le répertoire où vous démarrez le serveur. Le contenu n'est que la ligne suivante.

config.ru


run Rack::Directory.new '.'

Vous êtes maintenant prêt. Enfin, lancez-le avec la commande rackup (ce qui suit est un exemple de démarrage). Le numéro de port par défaut est 9292, qui est rackup -p 8000 (exemple).

$ rackup
[2014-04-01 14:18:53] INFO  WEBrick 1.3.1
[2014-04-01 14:18:53] INFO  ruby 1.9.3 (2013-06-27) [i686-linux]
[2014-04-01 14:18:53] INFO  WEBrick::HTTPServer#start: pid=5814 port=9292

Notez qu'une liste de répertoires est toujours renvoyée pour accéder à un répertoire (même si index.html existe, il est répertorié comme l'un des fichiers). Cela devrait suffire au développement. Une fois réglé, tout ce que vous avez à faire est de «rackup».

L'avantage de Rack est que vous pouvez le personnaliser autant que vous le souhaitez, ce qui vous donne la flexibilité d'écrire du code Ruby dans config.ru pour la programmation côté serveur. Cependant, cela dépasse le cadre de cet article, des explications détaillées sont donc omises.

Le côté serveur de mon dernier travail "Weather Data Map" est également réalisé avec Rack. J'aimerais avoir l'occasion d'expliquer Rack séparément plus tard.

Pour Node.js

Je ne suis pas très familier avec Node.js, mais je connais quelqu'un qui crée un serveur local pour Node.js, je vais donc le présenter (j'ai également confirmé l'opération). Pour plus de détails, veuillez lire l'explication sur le site suivant.

https://github.com/shimizu/SimpleWebServer

J'ai reçu un commentaire de ka_ immédiatement après la publication. Il semble qu'il existe des modules de nœuds.

Les commentaires de Ka_ sont bien organisés, veuillez donc les consulter pour plus de détails.

Pour PHP

J'ai reçu un commentaire sur la version PHP de kimama1997, je vais donc l'ajouter (PHP 5.4+). Voir la section des commentaires pour plus de détails.

$ php -S localhost:3000

Au fait, j'ai de l'expérience avec PHP, mais je ne l'utilise pas actuellement et je ne l'ai pas installé dans mon environnement de développement actuel.

Recommended Posts

Comment configurer un serveur de développement local
Configurer un serveur local avec le téléchargement Go-File-
Configurer un serveur local avec le téléchargement Go-File-
Configurer un serveur local simple sur votre Mac
Comment utiliser le serveur de développement local d'App Engine dev_appserver.py
Comment configurer SVM à l'aide d'Optuna
Comment régler l'heure du serveur sur l'heure japonaise
Comment configurer l'environnement de développement d'ev3dev [version Windows]
Comment configurer un serveur SMTP simple qui peut être testé localement en Python
Configurer un serveur HTTPS simple avec Python 3
Configurer un serveur HTTPS simple avec asyncio
Comment configurer une forêt aléatoire à l'aide d'Optuna
Envoyez du courrier avec mailx à un serveur SMTP factice configuré avec python.
Configurez un serveur SMTP de test en Python.
Configurer un serveur UDP en langage C
Comment configurer un notebook Jupyter à la destination SSH (AWS EC2)
Configurez un serveur Web local en 30 secondes en utilisant http.server en python 3
[Note] Comment créer un environnement de développement Ruby
Configurer un serveur SMTP simple en Python
Configurer un environnement de développement Python sur Marvericks
[Environnement de développement] Comment créer un ensemble de données proche de la base de données de production
[Note] Comment créer un environnement de développement Mac
[Python] Comment créer un environnement de serveur Web local avec SimpleHTTPServer et CGIHTTPServer
Mettre en place un environnement de développement pour le traitement du langage naturel
Configurer un serveur de ressources Minecraft (Spigot) via docker (2)
Configurer un serveur de fichiers sur Ubuntu 20.04 à l'aide de Samba
Configurez un serveur gratuit sur AWS en 30 minutes
[Partie 1] Configurons un serveur Micra sur Linux
Comment créer un référentiel local pour le système d'exploitation Linux
Comment créer un environnement de développement pour TensorFlow (1.0.0) (Mac)
Comment créer un simple script serveur / client TCP
Configurer un serveur de ressources Minecraft (Spigot) via docker
Comment exécuter Django sur IIS sur un serveur Windows
Comment configurer et compiler l'environnement Cython
Configurer un environnement de développement Python avec Sublime Text 2
[Vagrant] Configurer un serveur API simple avec python
Comment appeler une fonction
Comment préparer l'environnement pour Google Colab avec le cours avancé d'apprentissage automatique de Coursera
Comment configurer une passerelle VPN pour établir une connexion entre Alibaba Cloud et AWS
Je veux configurer un serveur fictif pour python-flask en quelques secondes en utilisant swagger-codegen.
Comment utiliser GitHub sur un serveur multi-personnes sans mot de passe
Configurer un environnement de développement Python avec Visual Studio Code
Comment importer la bibliothèque Python configurée dans EFS dans Lambda
Configurer un serveur Web avec CentOS7 + Anaconda + Django + Apache
Comment spécifier un serveur HTTP simple Python de répertoire public
[Python Kivy] Comment créer une simple fenêtre pop-up
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
Comment configurer WSL2 sur Windows 10 et créer un environnement d'étude pour les commandes Linux
Je souhaite configurer un environnement de développement GUI avec Python ou Golang sur Mac
Comment créer un bot slack
Comment créer un package Conda
Comment créer un robot - Avancé
Comment créer une fonction récursive
Comment créer un pont virtuel
Comment créer un Dockerfile (basique)
[Blender] Comment créer un plug-in Blender
Comment supprimer un conteneur Docker
Comment accélérer les calculs Python
Comment créer un robot - Basic