宝塔部署flask添加ssl即https

 在宝塔部署flask的步骤我已经写了一篇博客:宝塔部署flask项目-优快云博客

之前说如果出现找不到application错误:

spawned uWSGI http 1 (pid: 3116)
--- no python application found, check your startup logs for errors ---
[pid: 3114|app: -1|req: -1/1] 127.0.0.1 () {62 vars in 1090 bytes} [Sat Dec 30 22:03:36 2023] GET / => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)

 可以修改运行代码:

if __name__ == '__main__':
    app.run()
else:
    application = app

这样就有uwsgi.ini文件需要的application名字了.

还有一种方法,就是在uwsgi.ini里面设置访问的程序名不是默认的application,而是app:

修改uwsgi.ini文件添加:

#python 程序内用以启动的application 变量名
callable = app

这样也是可以的.

怎么在宝塔里部署ssl呢?现在都需要付费了,还好宝塔里还有一年免费的:

测试证书仍然可以申请一年的.那就申请这个.在部署flask的时候,不要使用80端口!!使用默认的5000端口或者其他的8000端口都可以. 

 

 

 然后开启外网映射,申请ssl,部署,记得修改配置文件里面的端口,就一个地方:

只要修改这一个地方的端口就可以了.然后重启Nginx. 

这个时候就可以使用https来访问flask项目了.

如果开启强制https,那么访问http的时候,自动跳转到https了.宝塔自动在配置文件里添加这个代码:

    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

### 使用宝塔面板部署Flask应用程序 #### 准备工作 在开始部署之前,需要确保服务器已安装宝塔面板,并完成基础设置。如果尚未安装宝塔面板,可以通过其官网提供的教程进行安装[^1]。 #### 创建站点及数据库 登录宝塔面板后,在“网站”模块中创建一个新的站点。绑定所需的域名(如`example.com`),并确保域名已完成解析到服务器IP地址。创建成功后,会自动生成一个以域名为名的目录用于存放项目文件。此外,还需要通过宝塔面板中的“数据库”模块创建MySQL数据库,供Flask应用使用[^2]。 #### 收集依赖并上传项目 在本地开发环境中,激活虚拟环境后执行以下命令以收集项目所需的所有Python库依赖: ```bash pip freeze > requirements.txt ``` 这一步将在当前目录生成一个`requirements.txt`文件,记录所有依赖项版本信息。随后将整个项目文件夹(排除`.git`或`venv`等不必要的子目录)压缩成RAR或者ZIP格式文件。接着访问宝塔面板内的目标站点根目录路径(通常位于`www/wwwroot/<domain>`),上传此压缩包并通过界面操作解压它[^3]。 #### 配置uWSGI 为了提高性能以及稳定性,推荐采用uWSGI作为WSGI容器来运行Flask程序。编辑一份适合自己的uWSGI配置文件(例如命名为`uwsgi.ini`),内容大致如下所示: ```ini [uwsgi] master = true processes = 4 threads = 2 chdir = /www/wwwroot/flaskblog/ module = run:app callable = app socket = 127.0.0.1:8001 logto = /www/wwwroot/flaskblog/uwsgi.log chmod-socket = 666 vacuum = true max-requests = 5000 ``` 注意调整参数使其适应实际需求,比如更改监听端口(`socket`)、日志存储位置(`logto`)等字段值[^4]。 #### 设置Nginx反向代理 最后一步是在宝塔面板里修改对应站点的Nginx配置规则,使之能够正确转发请求给前面启动好的uWSGI服务进程。具体做法是从左侧菜单栏找到该站点 -> “设置”按钮下的高级选项卡,“伪静态”部分新增一段类似下面这样的代码片段: ```nginx location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8001; } ``` 保存改动后的配置文件,重启Nginx使变更生效即可完成全部部署流程。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

andux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值