Python Vagrant-从主机访问django服务器
我使用Python Vagrant-从主机访问django服务器,python,django,vagrant,Python,Django,Vagrant,我使用puphpetconfigurator设置了一个vagrant VM,我安装了许多编程语言,包括PHP、python、ruby等。我为PHP项目安装了apache2和mysql,但它的django,我确实需要启动并运行。以下是配置文件中定义网络IP和主机名的部分: machines: vflm_zpwmfbk4aw05: id: machine1 host
puphpet
configurator设置了一个vagrant VM,我安装了许多编程语言,包括PHP、python、ruby等。我为PHP项目安装了apache2
和mysql
,但它的django
,我确实需要启动并运行。以下是配置文件中定义网络IP和主机名的部分:
machines:
vflm_zpwmfbk4aw05:
id: machine1
hostname: machine1.puphpet
network:
private_network: 192.168.56.101
forwarded_port:
vflmnfp_pjysbxl944a0:
host: '9346'
guest: '22'
memory: '2000'
cpus: '1'
当我向上游荡时然后将我的主机浏览器指向192.168.56.101
我会看到一个空白屏幕。这意味着它连接到某个东西,否则我会得到一个404屏幕
我了解到,要从主机访问django服务器,您需要运行以下命令:
python manage.py runserver 0.0.0.0:8000
但是当我把浏览器指向192.168.56.101:8000时,我看到了404屏幕
以下是/etc/hosts
文件中的内容:
127.0.0.1 machine1.puphpet machine1
127.0.0.1 localhost
127.0.1.1 vagrant.vm vagrant
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.3.3 myhost.dev
我手动添加了最后一行192.168.3.3 myhost.dev
,因为我决定更改默认安装的设置,但它不起作用
以下是接口文件:
$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp
pre-up sleep 2
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto enp0s8
iface enp0s8 inet static
address 192.168.56.101
netmask 255.255.255.0
#VAGRANT-END
apache2是否与djangos服务器冲突?有没有一种方法可以确切地了解VM中有哪些IP和端口可用 我明白了。这一切都是关于端口转发。我安装的此VM具有错误的端口转发设置:
主机端口为7280,来宾端口为22。这意味着我必须在端口22上运行VMs django服务器,并将主机浏览器指向端口7280。这不起作用,因为端口22是保留的,所以我无法在其上运行django服务器。解决方案是添加额外的端口转发规则。8000行。因此,将来宾端口和主机端口都设置为8000,我可以在端口8000上运行服务器,然后通过端口8000上的主机访问它 我明白了。这一切都是关于端口转发。我安装的此VM具有错误的端口转发设置:
主机端口为7280,来宾端口为22。这意味着我必须在端口22上运行VMs django服务器,并将主机浏览器指向端口7280。这不起作用,因为端口22是保留的,所以我无法在其上运行django服务器。解决方案是添加额外的端口转发规则。8000行。因此,将来宾端口和主机端口都设置为8000,我可以在端口8000上运行服务器,然后通过端口8000上的主机访问它 如果您不确定自己在做什么,请始终遵循以下步骤:首先,确保它在VM中工作-启动django并连接到它(使用wget或curl)以确保您可以在本地访问它。其次,修复主机的网络问题,您不能在主机文件中添加所需的IP和名称。在您的示例“192.168.56.101”和“machine1.puphpet”中,它必须是主机名为“192.168.56.101”的虚拟机的IP。如果要更改这些值,必须在配置yaml文件中更改。如果您不确定要执行的操作,始终遵循以下步骤:首先,确保它在您的VM中工作-启动django并连接到它(使用wget或curl)以确保您可以在本地访问它。其次,修复主机的网络问题,您不能在主机文件中添加所需的IP和名称。在您的示例“192.168.56.101”和“machine1.puphpet”中,它必须是主机名为“192.168.56.101”和“machine1.puphpet”的VM的IP。如果要更改这些值,必须在配置文件中更改