主机访问在虚拟机上运行的项目

0. 介绍

  • 本文环境二以centos7.5介绍
  • 环境三以ubuntu20.04介绍
  • 方式二环境:python3.6+django2.2
  • 方式三环境:python3.6+flask(django也可以)
  • 该方法只能在windows本机上,访问虚拟机跑的项目

1. 第一种方式

  • 做线上部署,我们本文不讲部署,采用第二种方法

2. 第二种运行在0.0.0.0上

2.1 普及ip

2.1.2 三种类型的IP,每一台机器都有这三种基础IP

  • 0.0.0.0  : 代表绑定本机所有ip地址,
  • 127.0.0.1 :本机回环地址,只能当前机器自己访问
  • 192.168.217.1 :对外暴露的IP,外界可以访问的地址。有的不是这个格式的,但是一定有这个类型的,这个是我们项目访问的地址

2.2 方法

2.2.1 下载django==1.11.20

pip3 install django==1.11.20 -i https://pypi.douban.com/simple

2.2.2 生成django项目

 django-admin startproject t1

2.2.2 在manage.py下执行迁移指令

python3 manage.py migrate

2.2.3 在manage.py运行在0.0.0.0:8000端口

 python3 manage.py runserver 0.0.0.0:8000

2.2.4 临时清除防火墙

iptables -F

2.2.5 外部访问

2.2.5.1 查看虚拟机的IP地址(如下图)

  • global对应的就是暴露的IP地址,也就是我们项目访问的IP地址
  • 10.0.0.100 是我当前虚拟机的对外暴露IP地址
  • 之所以不是198...格式,是因为是配置了手动模式,效果跟198...一样
ip a

 2.2.5.2 外界访问

# 格式
虚拟机暴露ip地址:项目运行端口号

# 案例
10.0.0.100:8000

3. 第三种做正向代理

  • flask也需要运行在0.0.0.0端口上,也可以用django项目,这里就不写运行的方法了,方法跟方式二一样(diango项目)
  • 外界正常IP地址访问

3.1 查看虚拟机对外暴露ip

  • global对应的ip就是对外暴露ip
ip a

3.1 修改虚拟机配置

3.1.1 编辑--->虚拟网络编辑器

3.1.2 选择NAT模式,并修改NAT设置

 3.1.3 无法修改的情况(如果可以直接修改,跳到3.1.5)

 3.1.4 获取权限

 3.1.5 添加代理

 

 3.1.6 访问IP

  • 第一种:访问windows的对外暴露IP地址,196.198...:8083 会被自动转发到,刚才配置的,虚拟机IP上,然后就可以访问了
  • 第二种:直接访问虚拟机对外暴露的IP加端口 10.0.0.129:5000,我的是10.0.0.129,每个人的都不一样,你的可能是198....
  • 在windows上获取对外暴露端口,直接ipconfig,找到当前使用的网络ip,无线网的用无线网的那个IP。


版权声明:本文为qq_52385631原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。