[Experiência de aprendizagem] Como implantar rapidamente o Django com uwsgi

Descrição do problema: Às vezes, você deseja apenas implantar rapidamente um projeto Django para obter um desenvolvimento iterativo do projeto. Este artigo apresenta como obter uma implantação rápida de projetos Django sem usar Nginx e apenas usando uwsgi.

1. Instale o uwsgi

# 在进入虚拟环境的情况下
pip install uwsgi

Se você ainda não sabe como criar um ambiente virtual Python no Ubuntu, consulte meu artigo anterior:

[Experiência de aprendizagem] Construção de ambiente virtual Python na construção de ambiente virtual Linux_linux python

Dois, comece uwsgi

1. Início de comando direto

Vantagens: o mais simples

Desvantagens: Não é possível executar em segundo plano e não é possível registrar logs

# 在你的工程项目目录下执行
uwsgi --http 0.0.0.0:80 --file 主APP文件夹/wsgi.py
# 如果不行的话,前面加上sudo
sudo uwsgi --http 0.0.0.0:80 --file 主APP文件夹/wsgi.py

- http0.0.0.0:80                   

        Especifique o endereço do host de acesso (0.0.0.0 significa que qualquer host pode acessar) e o número da porta, que pode ser abreviado como: 80

--file pasta principal do APP/wsgi.py     

        Este é o local do seu arquivo wsgi.py, geralmente na pasta principal do aplicativo.

2. Comece pelo arquivo de configuração uwsgi.ini

Crie um arquivo de configuração e escreva o seguinte conteúdo. Coloque o arquivo de configuração uwsgi.ini no mesmo nível que manager.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 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. Comandos iniciados através de arquivos de configuração

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

3. Reinicie ou pare o uwsgi

1. Comando de inicialização

uwsgi --ini  uwsgi.ini

2. Comando de parada

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

3. Comando de reinicialização

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

4. Encerre o uwsgi encerrando o processo

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

Acho que você gosta

Origin blog.csdn.net/qq_39780701/article/details/131475047
Recomendado
Clasificación