# 一 使用uwsgi部署python的web项目
```python
一般在部署Django或者Flask时,我们为了利用多核优势,一般使用uwsgi部署,原理如下
如果我们设定uwsgi进程数为3,那么操作系统是开启3个进程来运行python的web程序
如果我们在web项目中使用全局变量,由于多进程间数据是隔离的,所以定义的全局变量,分别在3个进程中
```
# 二 测试
## 2.1 写一个flask程序(s1.py)
```python
from flask import Flask
import time
app = Flask(__name__)
count = 0
@app.route('/')
def hello_world():
global count
count+=1
return 'Hello World!'+str(count)
if __name__ == '__main__':
app.run(host='0.0.0.0')
```
## 2.2 编写uwsgi的配置文件 (uwsgi.ini)
```python
[uwsgi]
http = 0.0.0.0:5000
chdir = /root/
wsgi-file = /root/s1.py
processes = 1
threads = 2
buffer-size = 32768
master = true
pidfile = uwsgi.pid
daemonize = uwsgi
uwsgi部署Python Web项目:避免全局变量陷阱

本文介绍了如何使用uwsgi部署Python的Django或Flask项目,并强调了在多进程环境下,全局变量可能导致数据隔离问题。通过一个简单的Flask程序示例和uwsgi配置文件,展示了当uwsgi使用多个进程时,同一全局变量在不同进程中不会共享,从而可能导致数据不一致。建议避免在web项目中使用全局变量以确保正确性。
最低0.47元/天 解锁文章


被折叠的 条评论
为什么被折叠?



