nginx+uwsgi环境部署

WSGI

django自带的wsgiref 在调试模式下使用的wsgi的文件,网关接口,协议

uwsgi:协议

uWSGI:具体实现方式

安装

```
pip3 install uwsgi -i https://pypi.douban.com/simple
```

准备django程序

启动

```
cd django目录
uwsgi --http :8080 --module mysite.wsgi
```

配置文件格式

```
conf
py
cnf
xml
json
ini
yaml
```

配置文件启动#创建uwsgi配置文件

Vim filepath/uwsgi.ini 


``` [uwsgi] http = :8080 #项目路径 chdir= /data/mysite # uwsgi的文件 wsgi-file= mysite/wsgi.py # 虚拟环境 # virtualenv = /root/env # 进程个数 processes = 2 # 线程个数 threads=2 # 后台启动,指定日志的输出 daemonize=/data/mysite/django.log # 清除临时文件 vacuum = true # python文件发生改变自动重启 py-autoreload=1 ```


#通过配置文件启动uwsgi


uwsgi --ini file

nginx的配置文件

```
server {
  listen 80;
  server_name crm.oldboy.com;
  location / {
    proxy_pass http://127.0.0.1:8080;
  }
  location /static {
    root /data/supercrm;
  }
}
```

在django的配置中要写入

```shell
SATAIC_ROOT=os.path.join(BASE_DIR,'static/')
```

执行命令

```SHELL
python3 manager.py collectstatic #用来收集静态文件
```

第二种配置方式

```shell
uwsgi
socket= :9090
nginx的配置文件
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}
```

第三种配置方式

```shell
uwsgi
socket = file.sock
nginx的配置文件
location /{
include uwsgi_params;
uwsgi_pass unix://file.sock
}
```