前言
毕业设计做了一个“图书管理系统”、“医疗管理系统”,实现了对本地数据库的增删改查操作,可答辩演示时候问题频出:
- 端着电脑上去演示系统功能很麻烦
- 电脑投屏用不了,或者是没有电脑转接线
- 在自己电脑上运行的好好的,拷贝到答辩机器上就不能用了
只需要一个 本地服务器,配合使用 Ngrok内网穿透 就可以解决上述问题,轻松实现系统功能在线演示。
不需要租两三百的服务器,不用配置麻烦的域名,只需要十几块,一杯蜜雪冰城[]( ̄▽ ̄)*
一、内网穿透与Ngrok
1.1 内网穿透
直接在百度百科搜索“内网穿透”可以看到如下解释:
总结下来就是:通过内网穿透可以让外网设备访问内网资源。
例如本地的tomcat服务器启动后其路径为127.0.0.1:80,同时将项目资源部署到该服务器上,其他人肯定不能通过该地址访问到项目资源的,但是可以通过内网穿透将公网地址abc.com映射到127.0.0.1:80,这样就可以访问该项目资源了。
我们通常将内网与外网连接的通道称为“隧道”。
1.2 Ngrok
Ngrok是一款提供内网穿透服务的软件,提供收费和不收费两种隧道,收费的稳定一点,市面上还有其他类似的工具,可以自行搜索。
Ngrok的使用(重要)
关于Ngrok的安装和使用方法请参照官方文档
在官方Web页面中可以设置需要映射的本地服务器地址,本例中使用127.0.0.1:80
二、Ngrok+本地项目
2.1 JAVA项目(Tomcat服务器)
一定一定需要一个本地服务器,以Tomcat服务器为例,修改其默认端口号为80,启动Tomcat后进入127.0.0.1:80,可以访问如下页面:
出现上述图像表明本地Tomcat服务器已经成功启动,接下来启动Ngrok,可以得到如下界面:
最后我们在浏览器输出图片中被隐去的地址同样能够访问到Tomcat的欢迎页面。
只要本地服务器成功启动了,就能够使用内网穿透,项目资源什么的不会影响,请注意此时地址栏的内容。
2.2 Python项目
如果是按照博客上述步骤操作的话,先关闭Tomcat服务器,再进行下列操作!!!
Python中的Web框架通常会自带一个本地服务器,例如Django、Flask、Dash,无需像JAVA项目那样安装额外的资源,以Flask框架为例,编写一个简单的web页面。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "hello"
if __name__ == "__main__":
app.run(debug=True, port="80")
应用启动后会得到如下地址信息
访问127.0.0.1:80就可以在页面中看到“hello”一词。
接下来请在手机中输入Ngrok控制面板的网址,看看能够否看到"hello"这个词。
如果使用手机能够访问到该页面表示所有操作一切正常,可以直接上台演示啦。