如何在我的机器上同时运行两个rails项目

时间:2016-06-20 15:48:25

标签: ruby-on-rails

我希望能够通过vagrant和virtual box在一台机器上运行两个rails服务器。我有第一次设置,当我运行

rails s

它会在http://localhost:3000/

的浏览器中以可访问的方式返回以下内容
=> Booting Thin
=> Rails 3.2.22.2 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
installing dummy notifier
Thin web server (v1.7.0 codename Dunder Mifflin)
Maximum connections set to 1024
Listening on 0.0.0.0:3000, CTRL+C to stop

下面是此实例的vagrantfile:

Vagrant.configure("2") do |config|

  config.vm.box = "hashicorp/precise64"

  config.vm.network "forwarded_port", guest: 3000, host: 3000

end 

我现在将第二个项目放在本地计算机上的另一个文件夹中。我已经导航到它启动了我的流浪盒,完成了所有设置步骤并再次运行rails。我得到了:

=> Booting Puma
=> Rails 4.2.3 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Puma 2.12.2 starting...
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://localhost:3000

下面是此实例的vagrantfile:

Vagrant.configure("2") do |config|

  config.vm.box = "hashicorp/precise64"

  config.vm.network "forwarded_port", guest: 80, host: 8080

end

我一直试图调查它说"听tcp:// localhost:3000"但是,如果有人能给我一些关于如何从同一台机器运行这两个项目的指示,我将不胜感激。

3 个答案:

答案 0 :(得分:1)

您必须在不同的端口上运行它们。 rails s接受端口参数。

rails s -p 3001

将在端口3001上为您提供服务器,依此类推。

答案 1 :(得分:1)

也许尝试在端口8080上运行第二台服务器,而不是3001,因为你的第二台流浪汉机器设置如下:

config.vm.network“forwarded_port”,guest:80,host:8080

答案 2 :(得分:0)

我最终跑了

setSize

我的vagrantfile有以下内容:

puma -b tcp://0.0.0.0:3001

感谢指点,因为他们帮助我更好地理解问题并找到解决方案。