找回密码
 立即注册
首页 业界区 业界 零成本个人公网网站搭建全流程(服务器搭建+内网穿透+绑 ...

零成本个人公网网站搭建全流程(服务器搭建+内网穿透+绑定域名)

每捎京 前天 21:52
零成本个人公网网站搭建全流程(服务器搭建+内网穿透+绑定域名)

导言:

一个基础的网站由三部分构成:
1、公网域名
2、网页内容(html前端)
3、网站服务器(处理访问请求,返回数据的后端的运行环境)
例如百度网站

1.png

可以直观看到的是域名www.baidu.com,和网页内容(heml)
看不到的是后端运行的百度网站服务器
我们要实现自己的网站,能让他人任意访问,就需要具备相同的构成。
当然,不用公网域名也可以,那样就是局域网内的网站,实际作用就很受限了
域名获取

付费方案:在阿里云万网购买喜欢的域名
免费方案:注册NATPP网站,获取免费域名(域名三天到期,可免费再次申领三天,可无限续杯)
2.png

根据需求选择web协议
3.png

保存authtoken和域名
4.png

至此,我们获得了可以分享给他人访问的域名
内网穿透

修改内网穿透配置文件
使用本地配置文件config.ini - NATAPP-内网穿透 基于ngrok的国内高速内网映射工具
5.png

运行内网穿透软件natapp.exe
6.png

上图是成功运行界面
搭建网站服务器

1. Python Web 服务器示例(Flask)

假设 Natapp 映射的是 5000 端口,你可以写 server.py:
  1. from flask import Flask, render_template
  2. app = Flask(__name__)
  3. @app.route("/")
  4. def home():
  5.     # Flask 会去 templates/index.html 找文件并返回
  6.     return render_template("index.html")
  7. if __name__ == "__main__":
  8.     # 用 0.0.0.0 监听所有地址,端口 80(Natapp 转发用)
  9.     app.run(host="0.0.0.0", port=80)
复制代码
安装 Flask:
  1. pip3 install flask
复制代码
运行:
  1. python3 server.py
复制代码
此时本地的 80端口上已经有网站了。显示的是本地index.html网页文件
7.png

网页内容html前端:
在此我就只是展示几段文字,一个图片,一个跳转按钮。由于图片是本地图片,使用预览并不能显示
8.png

图片
9.png

运行效果

web服务器内网穿透软件
10.png

电脑访问效果手机访问效果
11.png
12.png
4. 注意事项


  • Natapp 免费版域名会变,如果你想固定一个域名,需要升级到付费版。
  • 你的 Flask 程序必须一直运行,Natapp 客户端也要一直运行,否则外部无法访问。
杂谈

目前使用Windows PC个人电脑运行网站部署,但是个人电脑耗电较高,可以使用性能较高,稳定的做法,租个云服务器来跑网站。
但我有卡片电脑——泰山派(类似树莓派),运行linux系统,搭建方法基本一致,搭建运行python web服务器,运行Natapp内网穿透(linux版本)
也可以手机下载Termux,配置Ubuntu环境,运行python服务器和Natapp内网穿透(linux版本)
非常的自由哈哈
预想中linux卡片电脑弄个网页挂载个数据库,绘制ui界面,配合MQTT或者WebSocket,加个esp32s3+lvgl+检测传感器数据上传到网站显示,做个物联网云平台,来当毕设,感觉会挺有意思
如果各位大佬觉得该文章对您有帮助,有意思,恳请点点左下角的推荐该文,不胜感激!
13.png
       
14.png

15.png

16.png

基础代码

服务器

python server
  1. # from flask import Flask# app = Flask(__name__)# @app.route("/")# def home():#     return "[size=6]Hello! 这是pyc的 服务器[/size]
  2. "# if __name__ == "__main__":#     # 修改端口为 80,与 Natapp 配置匹配#     app.run(host="0.0.0.0", port=80)from flask import Flask, render_template
  3. app = Flask(__name__)
  4. @app.route("/")
  5. def home():
  6.     # Flask 会去 templates/index.html 找文件并返回
  7.     return render_template("index.html")
  8. if __name__ == "__main__":
  9.     # 用 0.0.0.0 监听所有地址,端口 80(Natapp 转发用)
  10.     app.run(host="0.0.0.0", port=80)
复制代码
网页html
  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <meta charset="utf-8" />
  5.     <title>我的 Flask 网页</title>
  6.   </head>
  7.   <body>
  8.     <h1>Hello! 这是 xxx的服务器 Web 页面</h1>
  9.   </body>
  10. </html>
复制代码
Natapp 配置文件config.ini
  1. #将本文件放置于natapp同级目录 程序将读取 [default] 段
  2. #在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
  3. #命令行参数 -config= 可以指定任意config.ini文件
  4. [default]
  5. authtoken=                      #对应一条隧道的authtoken
  6. clienttoken=                    #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
  7. log=none                        #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
  8. loglevel=ERROR                  #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
  9. http_proxy=                     #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空
复制代码
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册