Ne peut pas assigner une adresse demandée - bind(2) (Errno::EADDRNOTAVAIL)
Je suis en utilisant le rail pour teambox à centos 6.3 serveur, c'est juste un essai et d'erreur avant de l'appliquer en direct.
- Je suis à l'aide de 2 virtual box qui s'exécutent sur le même centos version et la copie exacte, VM2 est seulement exécuter mysql qui seront à distance de VM1
- J'ai essayé de connexion mysql #nc et il est relié
- VM1 (192.168.7.201) & VM2 (192.168.7.202 fonctionnement de MYSQL)
- J'ai bind-address sur la machine distante (VM2) dans mon.cnf avec bind-address=192.168.7.202
- voici ma base de données.yml
développement:
adaptateur: mysql
de l'hôte: 192.168.7.202
port:
3306
nom d'utilisateur: teambox
mot de passe: pass
base de données:
teambox
et je suis en train de lancer avec #rails server -e development -b 192.168.7.202
et de donner à cette erreur
Exiting
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/tcphack.rb:12:in `initialize_without_backlog': Cannot assign requested address - bind(2) (Errno::EADDRNOTAVAIL)
merci de m'aider
OriginalL'auteur Mahardhika | 2012-12-13
Vous devez vous connecter pour publier un commentaire.
essayer cette
0.0.0.0 signifie qu'il est à l'écoute sur toutes les adresses IPv4 de la machine locale
rails s -b 0.0.0.0
a fait pour moi.OriginalL'auteur Bill Panagiotopoulos
Rails 5.0.0.1 serveur ne fonctionne pas sans l'IPv6.
Vous devez activer l'IPv6 à partir de /etc/sysctl.fichier conf(IPv6 est activé par défaut).
Supprimer ou commenter ces lignes, si vous en avez.
net.ipv6.conf.tous les.disable_ipv6 = 1
net.ipv6.conf.par défaut.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Redémarrer le serveur pour activer l'IPv6.
essayer
serveur rails
OriginalL'auteur Surinder Dhillon
Essayez de la manière suivante:
(ou)
Je pense que l'un des ci-dessus va travailler.
rails de s -E de développement -b 192.168.7.202
OriginalL'auteur VenkatK
Cela signifie que le serveur est déjà en cours d'exécution sur ce port
essayer
Comme dans quelques autres commentaires, l'erreur est EADDRNOTAVAILABLE. Si quelque chose en cours d'exécution sur ce port, l'erreur serait EADDRINUSE.
OriginalL'auteur Salil
L'erreur est venue parce que 3000 port est déjà en cours d'utilisation. Et la commande est en essayant de s'exécuter dans le même port. donc changer le port et l'exécuter. ajouter cette aussi -p 3002
"Déjà en cours d'utilisation" est
EADDRINUSE
, pasEADDRNOTAVAIL
.OriginalL'auteur vijikumar