问题描述时候,只想快速部署一个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同级

[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 Socketpid文件
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、通过配置文件启动命令

# 如果运行成功可以加上sudo
sudo uwsgi --ini uwsgi.ini

三、重启或停止uwsgi

1、启动命令

uwsgi --ini  uwsgi.ini

2、停止命令

# 要想用这个命令前提是,你配置文件写了vacuumprofile
uwsgi --stop /tmp/master.pid

3、重启命令

# 要想用这个命令前提是,你配置文件写了vacuumprofile
uwsgi --reload /tmp/master.pid

4、用杀死进程方式关闭uwsgi

# 第一步查询进程号PID
ps -ef | grep uwsgi
# 第二步关闭进程
kill -9 uwsgi_pid

原文地址:https://blog.csdn.net/qq_39780701/article/details/131475047

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_49519.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注