【发布时间】:2016-01-28 01:09:41
【问题描述】:
我用 ubuntu 14.04(下面的 vagrant 文件)创建了一台 Vagrant 机器。
我将主机端口 8080 转发到访客端口 8000。
我在主机上有一个 symfony 项目(Vagrant 文件夹)(只是构建了一个 symfony 新的 myproject)。
我 ssh 到客户机并在 /vagrant 文件夹上执行 php app/console server:run (web server is up)
我尝试从主机浏览器访问 localhost:8080,但没有答案。
如何从主机访问 symfony Web 服务器?
为了便于阅读,我最大限度地简化了我的 vagrant 和 provision 文件。
这是我的流浪文件:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network "forwarded_port", guest: 8000, host: 8080
config.vm.network "private_network", ip: "10.10.10.10"
config.vm.provision "shell", path: "provision.sh"
end
provision.sh 文件:
#!/usr/bin/env bash
apt-get update > /dev/null
apt-get install --assume-yes php5-cli
当我在客户机上执行 nmap localhost 时:
Starting Nmap 6.40 ( http://nmap.org ) at 2015-10-28 09:04 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00020s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
5432/tcp open postgresql
8000/tcp open http-alt
非常感谢!
乔迪
【问题讨论】:
-
你试过
http://10.10.10.10:8080(你的私网ip和外网端口)吗? -
"I forwarded host port 8080 to guest port 8000.",这几乎可以回答您的问题。您应该打开localhost:8000,因为您将其转发到本地端口8000而不是8080。 -
@qooplmao 是的,我试过但没有答案:-(
-
@Oldskool 我也尝试将 8000 转发到 8000,但没有成功。如果你做 vagrant init,你有一个带有端口转发示例的 vagrant 文件,它说: # 创建一个转发端口映射,它允许从主机上的端口访问机器内的特定端口。在下面的示例中,#accessing "localhost:8080" 将访问来宾计算机上的端口 80。 # config.vm.network "forwarded_port", guest: 80, host: 8080 它让我想到当你从主机浏览到 localhost:8080 时,在 80 (或我修改此示例时为 8000)的客户机上接收到 http 请求: -S
-
服务器是否监听了正确的 ip/port?您是否尝试过使用
php app/console server:start 0.0.0.0:8000运行服务器?
标签: php symfony http vagrant port