nginx+uwsgi+flask

简介: nginx+uwsgi+flask

平时我们都是使用这种启动方式

nohup python3 app.py >/dev/null 2>&1 &

但是用uwsgi会更好。

例子:先创建虚拟环境

#直接创建

virtualenv -p /usr/bin/python3 venv

virtualenv venv

#激活进入虚拟环境

source venv/bin/activate

#如果想退出

deactivate

#-----------------

如何使用uwsgi启动flask呢?

1.先安装uwsgi

pip install uwsgi

2.写一个flask文件 app.py

3.写启动配置文件config.ini

[uwsgi]

http-socket = :5000

chdir = . #应该是项目目录

virtualenv = /home/venv

wsgi-file = app.py #启动文件

callable = app #文件里面的app变量

master = true

3.1直接复制这个,配置文件里面不要井号,不要写井号

[uwsgi]

http-socket = :5000

chdir = /demouwsgi/mumuByFlask

virtualenv = /demouwsgi/venv

wsgi-file = app.py

callable = app

master = true

4.启动命令

uwsgi --ini config.ini

5.测试是否成功

curl 127.0.0.1:5000

--------------------------

# 启动uWSGI服务器

uwsgi --ini uwsgi.ini

# 重启uWSGI服务器

sudo service uwsgi restart

# 查看所有uWSGI进程

ps aux | grep uwsgi

# 停止所有uWSGI进程

sudo pkill -f uwsgi -9

对nginx的操作---------------------

启动

/usr/local/nginx/sbin/nginx

#去修改配置信息

--------------------------------------

nginx与uwsgi交互

1.更改uwsgi的配置文件*.ini

[uwsgi]

...

#使用nginx连接时, 监控地址

socket=127.0.0.1:8080

#直接做web服务器时, 所监控地址

#http=127.0.0.1:8080

2.修改nginx的配置文件

server {

listen 80;

server_name localhost;

location / {

include uwsgi_params;

uwsgi_pass localhost:8080;

}

2.2,替换nginx配置文件

/usr/local/nginx/conf/nginx.conf
worker_processes  1;
 events {
     worker_connections  1024;
 }
 http {
     include       mime.types;
     default_type  application/octet-stream;
     sendfile        on;
     keepalive_timeout  65;
 
     server {
         listen       80;
         server_name  localhost;
 
         location / {
             include uwsgi_params;
             uwsgi_pass localhost:5000;
         }
 
         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
             root   html;
         }
     }
 }

 

3.重启nginx和uwsgi

 

相关文章
|
11月前
|
负载均衡 应用服务中间件 nginx
Django通过Nginx和uWSGI实现负载均衡
Django通过Nginx和uWSGI实现负载均衡
150 0
|
1月前
|
应用服务中间件 Linux 测试技术
Nginx+uWSGI
【8月更文挑战第22天】
31 6
|
1月前
|
网络协议 Unix 应用服务中间件
Nginx七层(应用层)反向代理:UWSGI代理uwsgi_pass篇
Nginx七层(应用层)反向代理:UWSGI代理uwsgi_pass篇
70 1
|
9月前
|
小程序 前端开发 应用服务中间件
nginx,uwsgi get方法请求参数过长怎么办
nginx,uwsgi get方法请求参数过长怎么办
98 0
|
负载均衡 应用服务中间件 Linux
CentOS7下python3+Flask+uWSGI+Nginx+Supervisor环境搭建
在生产环境中通常用uwsgi作为Flask的web服务网关,通过nginx反向代理进行负载均衡,通过supervior进行服务进行的管理。这一套搭下来还是有一些坑要踩,本文通过一个简单的Flask web应用记录了CentOS7下python3+Flask+uWSGI+Nginx+Supervisor环境搭建的全过程,以及一些注意事项,以免遗忘。
281 0
|
负载均衡 Unix 应用服务中间件
知其所以然:flask + uwsgi不要nginx,应该怎么写配置文件?
知其所以然:flask + uwsgi不要nginx,应该怎么写配置文件?
160 0
|
缓存 负载均衡 安全
利用DockerHub在Centos7.7环境下部署Nginx反向代理Gunicorn+Flask独立架构
本次使用Nginx反向代理Flask服务,为什么要加一层Nginx呢?因为Nginx可以直接处理静态文件请求而不用经过应用服务器,避免占用宝贵的运算资源,并且可以缓存静态资源,使访问静态资源的速度有效提高。同时它可以吸收一些瞬时的高并发请求,让Nginx先保持住连接(缓存http请求),然后后端慢慢消化掉这些并发。当然了,最重要的一点就是Nginx可以提供负载均衡策略,这样我们的应用服务就可以横向扩展,分担压力了。
利用DockerHub在Centos7.7环境下部署Nginx反向代理Gunicorn+Flask独立架构
|
弹性计算 NoSQL 安全
在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4
一直以来想写一篇完整的在阿里云服务器上部署Django服务结合uwsgi,并且通过nginx做反向代理。因为网上的攻略鱼龙混杂,加上技术不断更新,一些年代久远的文章很容易让人在部署的过程中掉坑里,无法自拔,所以本篇文章以最新的阿里云服务器centos7.6为背景,完全阐述如何部署,亲测可用,其实要说难点完全没有,只要按部就班,就不会有问题。
在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4
|
应用服务中间件 nginx Python
|
29天前
|
前端开发 计算机视觉 Python
flask+python 实时视频流输出到前台
该文章介绍了如何使用Flask和Python实现实时视频流输出到网页前端,包括后端通过OpenCV捕获摄像头视频流、处理并编码为JPEG格式,然后以HTTP响应的形式发送给前端显示的完整示例代码和运行效果。
flask+python 实时视频流输出到前台