宝塔搭网站
宝塔是个啥?
宝塔是一款 服务器可视化管理面板,核心作用是通过图形界面(而非纯命令行)简化服务器的配置、网站搭建、环境部署等操作,适合新手和运维人员高效管理服务器。
怎么部署宝塔
个人企业都可以搭建网站、博客、小程序后端
管理云服务器或本地服务器。
1,CentOS系统yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
2,Ubuntu/Debian系统apt update && apt install -y wget && wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec
安装成功后会输出宝塔面板的登录信息

快捷命令:bt
以我搭建的网站为例

为什么目录结构是这样?
在项目目录下面:
app.py:flask应用主程序(后端逻辑)
templates/文件:存放HTML模板
login.html:登录页面
用户访问/login,时的页面,包括一个简单的登录表单,登录时提交给后端进行身份验证。
register.html:用户注册页面。
home.html:登录的后端主页面
static/文件夹
存放静态资源(CSS/JS/图片)
css/:存放样式表
img/:存放图片
venv/:虚拟环境目录(python依赖)
这样放置便于管理
网站文件的大体结构是这样,然后怎么让它可以在公网上被访问?
怎么可以在公网进行访问
该网站是通过设置反向代理让Flask应用能够通过公网访问,并且可以快速接受到来自其他客户端的请求。
1,Flask在运行时会暴露一个本地地址(127.0.0.1:5000),这个地址能在本地进行访问,如果想让他可以被外网访问需要将Flask绑定到所有网络的接口(0.0.0.0)
app.run(host="0.0.0.0", port=5000, debug=True)
host="0.0.0.0":Flask绑定到网络接口,允许外部访问。
port=5000:Flask默认5000端口
可以使用反向代理如Nginx来转发请求
方法:
1,设置代理的目标URL,就是你的Flask应用地址http://127.0.0.1:5000
2,设置发送的域名,通常是你希望用户访问的域名,如yourdomain.com
listen 80;
server_name yourdomain.com; # 你的域名或 IP
location / {
proxy_pass http://127.0.0.1:5000; # 转发到 Flask 应用
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
proxy_pass http://127.0.0.1:5000 #请求代理到Flask应用所在的本地地址proxy_set_header #这些配置用于转发请求头,确保Flask 应用能够知道真实的客户端和IP
在宝塔中设置反向代理就比较简单了
选择网站,然后要选择要设置代理的网站,然后选着设置,在左侧栏中选择反向代理。
代理名称:可以写flask
目标URL就是flask应用的本机地址和端口,一般是127.0.0.1:5000
发送域名:是127.0.0.1
代理目录是/
访问时的顺序大概是

在Ubuntu本机部署,怎么让它可以在公网进行访问
首先,在阿里云中搭的网站是本来就有公网IP的,在本机Ubuntu就没有公网IP,怎么才能让它被公网访问呢?
现在就需要使用内网穿透
这里用cloudflared,这个不需要用公网IP,下面是操作步骤
我依旧用的是宝塔面板,下载过flask,nginx等
1,在Ubuntu进行操作
更新系统
sudo apt update && sudo apt upgrade -y
安装工具
sudo apt install git curl wget unzip -y
这个命令安装了git,curl,wget,unzip四个工具-y是确认
2,下载安装cloudflared
# 下载最新版本
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
出问题怎么办
#GitHub可能会出问题,直接从/etc/systemd/resolved.conf改一下公共的DNS,添加Google,Cloudflare,阿里云DNS.重启服务后生效。
#添加正确的apt 源
# 1. 重新导入 Cloudflare GPG 公钥(确保密钥有效)
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
# 2. 添加正确格式的 apt 源(注意 [] 括号和 signed-by 位置)
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt update # 此时不会再提示格式错误 sudo apt install cloudflared -y # 安装 cloudflared
# 赋予执行权限
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/
cloudflared --version
确认并运行项目
cd /www/wwwroot/mynote
conda activate kong
python app.py
默认访问http://127.0.0.1:5000,这个在flask项目可以改。
3,通过Cloudflared Tunnel暴露Flask
cloudflared tunnel --url http://localhost:5000
会自动生成一个公网URL打开这个URL就可以访问Flask网站,这个方法不需要公网IP也不需要DNS。
然后该网站可以被公网访问
还有如果有可以用的域名,比如说mynote.com
可以在Cloudflared DNS中添加CNAME,之后就可以用自己的域名访问了
更多推荐

所有评论(0)