问题描述:有时候,只想快速的部署一个Django项目实现项目迭代开发。本文介绍不使用Nginx只用uwsgi如何实现Django项目的快速部署。
一、安装uwsgi
# 在进入虚拟环境的情况下
pip install uwsgi
如果还不会创建Ubuntu中的Python虚拟环境,可以参考我之前的文章:
【学习心得】Linux下的Python虚拟环境搭建_linux python虚拟环境搭建
二、启动uwsgi
1、直接命令启动
优点:最简单
缺点:无法后台运行,无法记录日志
# 在你的工程项目目录下执行
uwsgi --http 0.0.0.0:80 --file 主APP文件夹/wsgi.py
# 如果不行的话,前面加上sudo
sudo uwsgi --http 0.0.0.0:80 --file 主APP文件夹/wsgi.py
-- http 0.0.0.0:80
指定访问主机地址(0.0.0.0代表任何主机都可以访问)和端口号,可以简写为 :80
--file 主APP文件夹/wsgi.py
是你wsgi.py文件所在位置,一般是主应用文件夹下
2、通过配置文件uwsgi.ini启动
创建配置文件并写入下面这些内容。把uwsgi.ini配置文件放与在manage.py同级。文章来源:https://www.toymoban.com/news/detail-519387.html
[uwsgi]
# 设置访问主机IP和端口
http = 0.0.0.0:80
#指定与Nginx通信的方式,不影响uwsgi本身运行。如果配置了需要到nginx中进行相关配置-才能通过nginx访问Django
# socket = 127.0.0.1:8001
#django项目目录,与manager.py同级
chdir = /home/ubuntu/DjangoWebProject/项目名称/
#主应用中的wsgi,下面这种配法是在Django根目录下运行uwsgi有效,主APP名为有settings.py的那个目录名。如果是其他目录运行,下面建议写成绝对路径。
wsgi-file = 主APP名/wsgi.py
# 启动一个master进程,来管理其余的子进程
master=true
processes = 2 # 一般CPU是几核就开几个
threads = 2
#服务停止时自动移除unix Socket和pid文件
vacuum = true
#设置后台运行保存日志。只要配置了daemonize就会让uwsgi后台运行,同时将日志输出到指定目录
daemonize = /home/ubuntu/DjangoWebProject/项目/log/uwsgi.log
logto = /manage.py文件所在文件夹/log/uwsgi.log
# 上面这两个的路径是一样的,只是我描述的方式不同
#保存主进程的pid,用来控制uwsgi服务
pidfile=/tmp/你自己取一个名字.pid
#uwsgi --stop/reload /tmp/可以是master.pid 停止/重启uwsgi
3、通过配置文件启动的命令文章来源地址https://www.toymoban.com/news/detail-519387.html
# 如果运行不成功可以加上sudo
sudo uwsgi --ini uwsgi.ini
三、重启或停止uwsgi
1、启动命令
uwsgi --ini uwsgi.ini
2、停止命令
# 要想用这个命令前提是,你配置文件写了vacuum和profile
uwsgi --stop /tmp/master.pid
3、重启命令
# 要想用这个命令前提是,你配置文件写了vacuum和profile
uwsgi --reload /tmp/master.pid
4、用杀死进程的方式关闭uwsgi
# 第一步先查询进程号PID
ps -ef | grep uwsgi
# 第二步关闭进程
kill -9 uwsgi_pid
到了这里,关于【学习心得】如何用uwsgi快速部署Django的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!