加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在vagranted虚拟机上访问postgresql?

发布时间:2020-12-17 03:05:20 所属栏目:百科 来源:网络整理
导读:我使用 postgresql通过Vagrant虚拟机制作,并希望将其用作我的rails应用程序数据库. 我使用类似的Vagrantfile: Vagrant.configure("2") do |config| config.vm.network :private_network,ip: "192.168.33.18" config.vm.provision :chef_solo do |chef| # I
我使用 postgresql通过Vagrant虚拟机制作,并希望将其用作我的rails应用程序数据库.

我使用类似的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'
        }
      }
    }
  end
end

接下来我流浪了,并期望下一个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.18

Starting Nmap 6.25 ( http://nmap.org ) at 2013-05-07 22:05 FET
Nmap scan report for 192.168.33.18
Host is up (0.00047s latency).
PORT     STATE  SERVICE
5432/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 only
local   all             all                                     peer

###########
# Other authentication configurations taken from chef node defaults:
###########

local   all             all                                     trust

host    all             all             0.0.0.0/0               md5

解决方法

我向所有读者道歉,但问题在于我的注意力不集中.虽然我在配置中指向listen_addresses:’*’,然后我意外地重置了这个配置,所以在最终配置中采用默认的listen_addresses:’localhost’值.修复后,此端口被打开.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读