2016-12-20 11 views
0

みんな! 私はローカルマシン(ubuntu)で試してみると、Rubyの単純なWebアプリケーション(フレームワークを使わずに)を書いていますが、すべて正常に動作しますが、Vagrantに接続することはできません。私はコンマrackup実行した後寄付者のローカルホストruby(フレームワークなし)に接続できません

# Gemfile 
source "https://rubygems.org" 
ruby '2.3.1' 
gem 'rack' 
gem 'puma' 

Vagrant.configure("2") do |config| 
    config.vm.box = "ubuntu/trusty64" 
    config.vm.network "forwarded_port", guest: 80, host: 8080 
    config.vm.provision :shell, path: "provision/install-rvm.sh", args: "stable", privileged: false 
    config.vm.provision :shell, path: "provision/install-ruby.sh", args: "1.9.3", privileged: false 
    config.vm.provision :shell, path: "provision/install-ruby.sh", args: "2.3.1 rails haml", privileged: false 
    config.vm.provision :shell, path: "provision/install-bundler.sh", privileged: false 
end 

がapp.rb:

class App 
    def call(env) 
    [200, {}, ['Hello world']] 
    end 
end 

config.ru:

require 'rubygems' 
require 'bundler' 
Bundler.require 
require "./app" 
run App.new 

Gemfileここ
はベイグラントファイルですそれは言う:

Listening on tcp://localhost:9292 

私はそれに接続できません。私は既にVagrantfileからホストポートを変更しようとしましたが、動作しませんでした。

答えて

0

問題は、あなたが(VM内の)ローカルホスト上のアプリケーションを起動しているので、それはあなたのホストからアクセスすることはできません

Listening on tcp://localhost:9292

です。

0.0.0.0でリッスンするようにアプリを起動する方法を変更する必要があるため、すべてのネットワークインターフェイスからアクセスできます。

、それは9292で開始し、上記のようにあなたは、あなたのアプリを起動ポートと転送ポートを追加してくださいあなたが正しくあなたのアプリ

にアクセスできるように、あなたのVagrantfile

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

に行を追加します。

+0

okだから、あなたのVagranfileでポート8080を転送する必要があります.80ではなく、あなたはそれにアクセスできるはずです –

+0

今私はコマンド0.035.0を使ってそれを実行しています 'rackup -o 0.0.0.0 -p 8080' soそれは言う: '*リスニングon tcp://0.0.0.0:8080}' –

+1

それはないw!あなたの助けをありがとう! :) –

関連する問題