准备条件:
1.确保有一个能够用runserver正常启动的django项目
2.项目已上传到linux
3.linux上已部署好python环境,且已安装好项目所需的模块
安装uwsgi
pip3 install uwsgi
基于uwsgi+django实现
1、在django项目同级目录创建script目录,用于存放配置脚本等等
[root@hecs-x-large-2-linux project]# pwd
/root/project
[root@hecs-x-large-2-linux project]# ll
total 8
drwxr-xr-x 6 root root 4096 Jun 27 21:15 myproject
drwxr-xr-x 2 root root 4096 Jun 27 21:15 script
2、进入/script目录,创建一个uwsgi.ini文件
uwsgi.ini文件内容如下:
# uwsig使用配置文件启动
[uwsgi]
# 项目目录
chdir=/root/project/myproject/
# 指定项目的application
module=myproject.wsgi:application
# 指定sock的文件路径
socket=/root/project/script/uwsgi.sock
# 进程个数
workers=5
pidfile=/root/project/script/uwsgi.pid
# 指定IP端口 云服务器指定内网ip 设置8080的安全组放行即可
http=192.168.2.108:8080
# 指定静态文件
static-map=/static=/root/project/myproject/static
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/root/project/script/uwsgi.log
3、启动项目
/usr/local/python3/bin/uwsgi --ini uwsgi.ini
至此,uwsgi+django就完美结合了,但是,光有uwsgi还不够,uwsgi处理动态请求能力高,但对于静态请求(如static文件,css,js文件等)处理能力差,此时就要结合nginx一起使用