我已经设置了多机Vagrant,有两个方框rails
和mysql
。两台机器都运行良好。但是,我在网络方面遇到了一些麻烦:
rails.vm.network "forwarded_port", guest: 3000, host: 3000
mysql.vm.network "forwarded_port", guest: 3306, host: 3306
mysql.vm.network "private_network", ip: "192.168.50.4"
打算连接到mysql
VM,这是我的database.yml
配置:
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: ********
password: ********
host: 192.168.50.4
port: 3306
我希望能够在主机上的浏览器(端口3000)上访问正在运行的Rails应用程序(guest虚拟机上的端口3000),但这不会发生。我用Chrome的This webpage is not available ERR_CONNECTION_RESET
屏幕猛烈抨击。但是,当我在来宾机器内cURL
应用程序时,我得到了回复。
另外,我假设我已经明确定义了mysql
框的IP和转发端口,并将这些值用作database.yml
中的连接参数,连接到VM应该完全没有问题。显然我错了,因为连接没有通过。当我从MySQL客户端shell测试连接时,我得到了这个ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.50.4' (111)
发生了什么事?