使用Nginx和uwsgi在自己的服务器上部署python的flask项目

Nginx 是一个高性能的 HTTP 和反向代理服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

Nginx 专为性能优化而开发,性能是其最重要的考量指标,实现上非常注重效率,能经受住高负载的考验,有报告表明能支持高达50000个并发连接数。

在连接高并发的情况下,Nginx 是 Apache 服务不错的替代品。

什么是代理和反向代理呢?

代理其实就是一个中介,A和B本来可以直连,中间插入一个C,C就是中介。刚开始的时候,代理多数是帮助内网client (局域网)访问外网server 用的。 后来出现了反向代理,反向这个词在这儿的意思其实是指方向相反,即代理将来自外网客户端的请求转发到内网服务器,从外到内。
uWSGI 是一个 Web 服务器,它是一个用 C 语言编写的 Web 应用程序容器,支持运行 Python、Ruby、Perl 等多种编程语言。uWSGI 服务器可以作为一个独立的应用服务器,也可以与其他 Web 服务器(如 Nginx、Apache)一起使用,通过 WSGI 协议与 Python 应用程序通信。

nginx服务器配置

使用 service nginx start 启动nginx服务

uwsgi配置,在项目目录下新建uwsgi.ini文件,编辑文件,写入以下内容

其中的路径等内容改为自己项目的路径,app.py即flask项目的启动文件,因为使用了nginx进行代理,所以使用的socket而不是http,同时socket的IP应该为0.0.0.0,而不是127.0.0.1,这样做是为了让公网上的其他用户能不受限制的访问,同时app.py中的启动应该写为run(host=0.0.0.0)。

使用uwsgi --ini uwsgi.ini 命令启动uwsgi服务,因为这里nginx绑定的是80端口,所以启动成功后就可以通过访问你的公网ip访问到你的flask项目了。 如果是其他如5000端口则需要通过ip:5000这样访问你的项目。

相关推荐
wanhengidc17 分钟前
什么是裸金属服务器
运维·服务器·科技·智能手机·云计算
我命由我1234520 分钟前
Python Flask 开发 - Flask 快速上手(Flask 最简单的案例、Flask 处理跨域、Flask 基础接口)
服务器·开发语言·后端·python·学习·flask·学习方法
莫问前程_满城风雨29 分钟前
verilog 可变范围的bit选择
运维·服务器·verilog
Energet!c40 分钟前
Nginx access 日志通过 Filebeat 8.15.5 写入 Elasticsearch 8 实战指南
nginx·elasticsearch·filebeat·openresty
草根站起来44 分钟前
ip版SSL证书
服务器·tcp/ip·ssl
天天向上10241 小时前
成功阻止chrome浏览器自动填充密码
服务器·前端·chrome
源文雨1 小时前
PVE实现USB硬盘盒在备份前自动上电/结束后自动断电脚本
linux·运维·服务器·备份·perl·pve·usb硬盘盒
云和数据.ChenGuang1 小时前
运维工程师技术教程之ELK日志监控
运维·服务器·elk·运维技术·数据库运维工程师
秋深枫叶红1 小时前
嵌入式第三十六篇——linux系统编程——线程
linux·运维·服务器·学习
阿基米东2 小时前
Caddy:把 HTTPS 变成默认选项的现代 Web 服务器
服务器·前端·https