如何使用Vagrant连接两个VM(postgreSQL和tomee)?【JAVA教程】

!
也想出现在这里? 联系我们
信息

如何使用Vagrant连接两个VM(postgreSQL和tomee)?,第1张

概述如何使用Vagrant连接两个VM(postgreSQL和tomee)?

我正在尝试使用VirtualBox和Vagrant构build一个虚拟环境。 目标是能够从PC浏览器访问运行在虚拟机“服务器”上的应用程序,该应用程序与虚拟机“db”交互。

我设法创build了虚拟机。

第一个与Apache Tomee运行,我可以通过我的浏览器访问它。 它工作正常。

第二个是Postgres运行,我可以通过我的浏览器访问它。 它也能正常工作。

当我尝试连接虚拟机“服务器”与“数据库”我得到一个@R_403_6822@ 500错误(只有当我尝试一些数据库 *** 作与应用程序),特别是:

“连接到本地主机:2222拒绝。检查主机名和端口

是正确的,并且postmaster正在接受TCP / IP连接。

javax.faces.webapp.FacesServlet.service(FacesServlet.java:229)”

我testing了两台机器从PC浏览器,他们工作正常(事实上在数据库机器,我看到对象添加)。

这是Vagrantfile:

config.vm.define \”server\” do |node| node.vm.hostname = \”server\” node.vm.network \”private_network\”,ip: \”10.12.1.101\”,virtualBox__intnet: true […] node.vm.network \”forwarded_port\”,guest: 22,host: 2211,ID: \’ssh\’,auto_correct: true node.vm.network \”forwarded_port\”,guest: 8080,host: 2212 node.ssh.forward_agent = true […] end config.vm.define \”clIEnt\” do |node| node.vm.hostname = \”clIEnt\” node.vm.network \”private_network\”,ip: \”10.12.1.201\”,host: 2221,guest: 5432,host: 2222 end

在文件tomee.xml目前在apache-tomee / conf我指定了相同的代码为db连接我用在testing(工作正常的虚拟环境)

<tomee> <Resource ID=\”Postgresql Database\” type=\”DataSource\”> JdbcDriver org.postgresql.Driver JdbcUrl jdbc:postgresql://localhost:2222/music Username postgres Password postgres JtaManaged true DefaultautoCommit false </Resource> </tomee>

在数据库虚拟机我修改postgresql.conf和pg_hba.conf添加

Listen_addresses =\’*\’

在第一和

主机全部全部为0.0.0.0/0 md5

在第二。 我不明白为什么当我的电脑上运行我可以访问这两个虚拟机,但\’服务器\’无法沟通\’数据库\’。

这是数据库虚拟机上的“sudo netstat -tulpn | grep postgres”的输出

tcp 0 0 0.0.0.0:5432 0.0.0.0:* ListEN 5743 / postgres

tcp6 0 0 ::: 5432 ::: * ListEN 5743 / postgres

将localhost更改为托管虚拟机的计算机的IP(您有来自主机的访客的端口转发)。 或者使用桥接网络,并直接从客户端连接到服务器。

总结

以上是内存溢出为你收集整理的如何使用Vagrant连接两个VM(postgreSQL和tomee)?全部内容,希望文章能够帮你解决如何使用Vagrant连接两个VM(postgreSQL和tomee)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞120 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容