Django部署 - uwsgi配置
uwsgi介绍
uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。在生产环境中部署Python Web项目时,uWSGI负责处理Nginx转发的动态请求,并与我们的Python应用程序沟通,同时将应用程序返回的响应数据传递给Nginx。uWSGI是一个Python Web服务器,它实现了WSGI协议、uwsgi、http等协议,常在部署Django或Flask开发的Python Web项目时使用,作为连接Nginx与应用程序之间的桥梁。
配置
安装uwsgi
pip install uwsgi
创建软链接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
使用uwsgi启动项目(测试好用不)
-- chdir 指定项目路径
-w 指定wsgi文件
uwsgi --http 0.0.0.0:8000 --chdir /root/test -w test1.wsgi
使用浏览器访问(本地访问远程服务器)
服务器IP:port
没有静态文件时正常的,能访问通就行
配置,项目根目录下创建uwsgi.ini文件 进行配置
#下列是uwsgi.ini文件的内容,第一行的[uwsgi]必须写
[uwsgi]
# 使用http访问,0表示任何IP,8001表示端口号,要求同上
http=0:8001
# 项目的绝对路径
chdir=/root/test1
# 项目的wsgi.py文件,如果你怕写乱,此处建议写绝对路径
wsgi-file=/root/test1/test1/wsgi.py
# 允许主线程存在
master=true
# 开启进程的数量
processes=1
# 开启多线程
enable-threads=false
# 当服务器退出的时候自动清理环境,删除socket文件和pid文件
vacuum=true
# 使进程在后台运行,并将日志打到指定的日志文件
daemonize=uwsgi.log
# 指定pid文件的位置,记录主进程的pid号,主要用于关闭服务
pidfile=uwsgi.pid
通过配置启动uwsgi
开启uwsgi,可通过浏览器进行验证
uwsgi --ini uwsgi.ini
如果浏览器访问不了 查看uwsgi日志文件 查看错误
cat uwsgi.log
如果配置项存在问题,修改了之后要先关闭uwsgi 再开启(这个很重要,我就是卡了半天)
uwsgi --stop uwsgi.pid # 关闭
uwsgi --ini uwsgi.ini # 开启