问题
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
回答1:
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
回答3:
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.
回答4:
This means the server is already running on that port
try
rails server -e development -p 3001 -b 192.168.7.202
回答5:
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
来源:https://stackoverflow.com/questions/13853936/cannot-assign-requested-address-bind2-errnoeaddrnotavail