11

I am using rail for teambox at centos 6.3 server, actually this is just a trial and error before applying it live.

  • I'm using 2 virtual box that running on same centos version and exact copy, VM2 is only run mysql that will be remote from VM1
  • I have tried mysql connection #nc and it's connected
  • VM1 (192.168.7.201) & VM2 (192.168.7.202 running MYSQL)
  • I have bind-address on remote machine (VM2) in my.cnf with bind-address=192.168.7.202
  • here's my database.yml

development:
adapter: mysql
host: 192.168.7.202
port: 3306
username: teambox
password: pass
database: teambox

and I am trying to run with #rails server -e development -b 192.168.7.202 and giving this error

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)

please help me out

akjoshi
  • 15,374
  • 13
  • 103
  • 121
Mahardhika
  • 111
  • 1
  • 1
  • 3

5 Answers5

13

try this

rails server -e development -b 0.0.0.0 -p 3000

0.0.0.0 means it listens on all IPv4 addresses on the local machine

2

Rails 5.0.0.1 server not working without IPv6.

You need to enable IPv6 from /etc/sysctl.conf file(IPv6 is enabled by default).

Remove or comment these lines if you have any.

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

Reboot the server to enable IPv6. Try:

rails server
Viktor
  • 2,623
  • 3
  • 19
  • 28
0

This means the server is already running on that port

try

rails server -e development -p 3001 -b 192.168.7.202
Salil
  • 46,566
  • 21
  • 122
  • 156
  • i leave default port with 3000, forgot to tel, im installing this two machine with ruby and gems, does it makes the problem too? – Mahardhika Dec 13 '12 at 06:21
  • As in a few other comments, the error is EADDRNOTAVAILABLE. If something were running on that port, the error would be EADDRINUSE. – Joseph Larson Aug 06 '18 at 21:16
0

Try as following:

development:
 adapter: mysql
 host: 127.0.0.1
 port: 3306
 username: teambox
 password: pass
 database: teambox


(or)

development:
 adapter: mysql
 host: localhost
 port: 3306
 username: teambox
 password: pass
 database: teambox


I think any of the above will work.

VenkatK
  • 1,295
  • 1
  • 9
  • 21
-1

The error is coming becuase 3000 port is already in use. And the command is trying to run in the same port. so change the port and run. add this also -p 3002

vijikumar
  • 1,805
  • 12
  • 16