我使用类似的Vagrantfile:
Vagrant.configure("2") do |config| config.vm.network :private_network,ip: "192.168.33.18" config.vm.provision :chef_solo do |chef| # I take cookbook from https://github.com/opscode-cookbooks/postgresql chef.add_recipe "postgresql::server" chef.Json = { postgresql: { config: { ssl: false,Listen_addresses: '*' },password: { postgres: 'postgres' } } } endend
接下来我流浪了,并期望下一个database.yml将工作:
development: database: app_development adapter: postgresql host: '192.168.33.18' username: root
但这不会发生.. Rake任务失败并出现错误:
Could not connect to server: Connection refused Is the server running on host "192.168.33.18" and accepting TCP/IP connections on port 5432?
我看到端口实际上没有打开
$nmap -p 5432 192.168.33.18Starting Nmap 6.25 ( http://nmap.org ) at 2013-05-07 22:05 FETNmap scan report for 192.168.33.18Host is up (0.00047s latency).PORT STATE SERVICE5432/tcp closed postgresql
我可以在vm上看到一些postgres进程,并且没有任何错误的vagrant输出,所以我相信postgres正常工作.
932 postgres 20 0 126m 9.9m 8916 S 0 2.7 0:00.03 postgres 941 postgres 20 0 97460 1348 192 S 0 0.4 0:00.00 postgres 944 postgres 20 0 126m 1728 548 S 0 0.5 0:00.06 postgres 945 postgres 20 0 126m 1488 316 S 0 0.4 0:00.05 postgres 946 postgres 20 0 126m 2768 1000 S 0 0.7 0:00.00 postgres 947 postgres 20 0 97456 1584 352 S 0 0.4 0:00.00 postgres
如何在我的rails应用程序中设置Vagrant在虚拟机上使用db?
更新我的pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD# "local" is for Unix domain socket connections onlylocal all all peer############ Other authentication configurations taken from chef node defaults:###########local all all trusthost all all 0.0.0.0/0 md5解决方法 我向所有读者道歉,但问题在于我的注意力不集中.虽然我在配置中指向Listen_addresses:’*’,然后我意外地重置了这个配置,所以在最终配置中采用默认的Listen_addresses:’localhost’值.修复后,此端口被打开. 总结
以上是内存溢出为你收集整理的ruby-on-rails – 如何在vagranted虚拟机上访问postgresql?全部内容,希望文章能够帮你解决ruby-on-rails – 如何在vagranted虚拟机上访问postgresql?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)