38157


前回の質問でPythonの検索エンジンを起動したいのですがgoogle chromeでlocalhostにアクセス出来なくて困っています。  
[スタック・オーバー・フローでの前回の質問](https://ja.stackoverflow.com/questions/38146/%E8%87%AA%E5%88%86%E3%81%AE%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3%E3%81%A7-python%E6%A4%9C%E7%B4%A2%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%9F%E3%81%84)

mac os sierraにvagrantでubuntu14.04を使用しているのですがWebアプリが動かせないです。  
VirtualenvでPython3を仮想にし以下のモジュールがインストールしてあります。  
2つのターミナルウィンドーを使いvagrant sshで2回 ログインしています。  
_ウィンドー1 Mongdb起動  
ウィンドー2 webページを返すサーバの起動_

**VirtualenvでPython3を仮想にし以下のモジュールがインストールしてあります。**  
\- Flask==0.12.2  
\- Janome==0.3.4  
\- Jinja2==2.9.6  
\- MarkupSafe==1.0  
\- Werkzeug==0.12.2  
\- beautifulsoup4==4.6.0  
\- certifi==2017.4.17  
\- chardet==3.0.4  
\- click==6.7  
\- idna==2.5  
\- itsdangerous==0.24  
\- pymongo==3.4.0  
\- requests==2.18.1  
\- urllib3==1.21.1

ubuntu14.04にMongodb 2.4.9 32bitがインストールしてあります。

**vagrantfile**

[code]

    # -*- mode: ruby -*-
    # vi: set ft=ruby :
    
    # All Vagrant configuration is done below. The "2" in Vagrant.configure
    # configures the configuration version (we support older styles for
    # backwards compatibility). Please don't change it unless you know what
    # you're doing.
    Vagrant.configure(2) do |config|
      # The most common configuration options are documented and commented below.
      # For a complete reference, please see the online documentation at
      # https://docs.vagrantup.com.
    
      # Every Vagrant development environment requires a box. You can search for
      # boxes at https://atlas.hashicorp.com/search.
      config.vm.box = "ubuntu/trusty32"
      # Disable automatic box update checking. If you disable this, then
      # boxes will only be checked for updates when the user runs
      # `vagrant box outdated`. This is not recommended.
      # config.vm.box_check_update = false
    
      # Create a forwarded port mapping which allows access to a specific port
      # within the machine from a port on the host machine. In the example below,
      # accessing "localhost:8080" will access port 80 on the guest machine.
      config.vm.network "forwarded_port", guest: 3000, host: 3000
    
      # Create a private network, which allows host-only access to the machine
      # using a specific IP.
      config.vm.network "private_network", ip: "192.168.33.11"
    
      # Create a public network, which generally matched to bridged network.
      # Bridged networks make the machine appear as another physical device on
      # your network.
      # config.vm.network "public_network"
    
      # Share an additional folder to the guest VM. The first argument is
      # the path on the host to the actual folder. The second argument is
      # the path on the guest to mount the folder. And the optional third
      # argument is a set of non-required options.
      # config.vm.synced_folder "./", "/home/vagrant"
    
      # Provider-specific configuration so you can fine-tune various
      # backing providers for Vagrant. These expose provider-specific options.
      # Example for VirtualBox:
      #
      # config.vm.provider "virtualbox" do |vb|
      #   # Display the VirtualBox GUI when booting the machine
      #   vb.gui = true
      #
      #   # Customize the amount of memory on the VM:
      #   vb.memory = "1024"
      # end
      #
      # View the documentation for the provider you are using for more
      # information on available options.
    
      # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
      # such as FTP and Heroku are also available. See the documentation at
      # https://docs.vagrantup.com/v2/push/atlas.html for more information.
      # config.push.define "atlas" do |push|
      #   push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
      # end
    
      # Enable provisioning with a shell script. Additional provisioners such as
      # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
      # documentation for more information about their specific syntax and use.
    
    end
    
[/code]

virtualboxのhostonlyをいじればアクセスできると聞いたのですがVirtualboxのネットワーク設定でアダプター1はNATっていうのになっていいてアダプター2がホストオンリアダプターになっていました。他の3,4は未割り当てです。  
どうしても自分の環境で検索エンジンを動かしたいので協力して頂けないでしょうか？


CC BY-SA 3.0
2017-09-24T14:01:20.123
38155
2017-09-24T16:08:39.557
22565
question
python python3 vagrant flask
vagrantで起動したubuntuのwebアプリにアクセス出来ない。


# localhost にこだわらない場合

[code]

    # Create a private network, which allows host-only access to the machine
    # using a specific IP.
    config.vm.network "private_network", ip: "192.168.33.11"
    
[/code]

既に host-only ネットワークでホストとゲストがつながっていますので、  
そのままブラウザから <http://192.168.33.11:9000/> につながります。

# localhost にしたい場合

ポートフォワーディングの設定を追加します。

[code]

    # Create a forwarded port mapping which allows access to a specific port
    # within the machine from a port on the host machine. In the example below,
    # accessing "localhost:8080" will access port 80 on the guest machine.
    config.vm.network "forwarded_port", guest: 3000, host: 3000
    config.vm.network "forwarded_port", guest: 9000, host: 9000   # ←この行を追加
    
[/code]

こうすると、ホストの 9000番に接続すると、ゲストの 9000番に転送されます。  
これでブラウザから <http://localhost:9000/> につながります。


CC BY-SA 3.0
2017-09-24T15:22:51.460
38157
2017-09-24T16:08:39.557
2017-09-24T16:08:39.557
5288
5288
38155
answer