Django如何利用uwsgi和nginx修改代码自动重启

 更新时间:2023年05月10日 17:02:44   作者:菲宇  
这篇文章主要介绍了Django如何利用uwsgi和nginx修改代码自动重启问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

利用uwsgi和nginx修改代码自动重启

在默认设置下,uwsgi本身不会立即加载修改后的文件。

nginx + uwsgi + django 部署的站点,如果修改了py代码,需要重新启动 uwsgi 才会生效。

如果有需要 Django 代码改动时立即生效,可以在启动 uwsgi 的 ini 的配置文件里加入参数py-autoreload = 1 ( 写在 ini 配置文件中,记得一定要 = 1,否则不生效)。

py-autoreload = 1

完整配置feiublog.ini

[uwsgi]
socket = 127.0.0.1:9090
stats = 127.0.0.1:9191
chdir = /var/project/feiublog
wsgi-file =/var/project/feiublog/wsgi.py
pidfile = /var/project/feiublog/uwsgi_blog.pid
touch-reload = /var/project/feiublog/uwsgi_blog.pid
buffer-size = 32768
processes = 1
workers= 2
threads = 2
daemonize = /tmp/log/uwsgi_blog.log
py-autoreload = 1  # 代码修改后自动重启

正确手动重载uwsgi和代码的方式

使用命令uwsgi feiublog.ini即可自动生成pidfile文件的uswgi_blog.pid

pidfile = /var/project/feiublog/uwsgi_blog.pid

然后在你的uwsgi.pid的目录下执行:

uwsgi --reload uwsgi_blog.pid

其中uwsgi_blog.pid即进程的pid文件。

至此,修改后的代码即可自动重载生效

Django修改文件后不生效 重启uwsgi解决

问题描述

这里主要是在线上环境,我们上传代码后,发现没有生效。

因为会生成.pyc文件。

解决办法

# 关闭所有 uwsgi进程,发现通过uwsgi --roload ****.pid 不一定有用
killall -9 uwsgi
# 启动 uwsgi
uwsgi --ini /home/wwwroot/laoji.org/uwsgi.ini 
# 重启一下nginx
service nginx reload

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Python中heapq模块的用法

    详解Python中heapq模块的用法

    Python中的heapq模块提供了一种堆队列heapq类型,这样实现堆排序等算法便相当方便,这里我们就来详解Python中heapq模块的用法,需要的朋友可以参考下
    2016-06-06
  • Python Serial串口基本操作(收发数据)

    Python Serial串口基本操作(收发数据)

    这篇文章主要介绍了Python Serial串口基本操作(收发数据),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python通过elixir包操作mysql数据库实例代码

    python通过elixir包操作mysql数据库实例代码

    这篇文章主要介绍了python通过elixir包操作mysql数据库,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python入门教程(十七)Python的While循环

    Python入门教程(十七)Python的While循环

    这篇文章主要介绍了Python入门教程(十七)Python的While循环,Python是一门非常强大好用的语言,也有着易上手的特性,本文为入门教程,需要的朋友可以参考下
    2023-04-04
  • Python中关于使用模块的基础知识

    Python中关于使用模块的基础知识

    这篇文章主要介绍了Python中关于使用模块的基础知识,是Python入门的基础,需要的朋友可以参考下
    2015-05-05
  • Python subprocess模块功能与常见用法实例详解

    Python subprocess模块功能与常见用法实例详解

    这篇文章主要介绍了Python subprocess模块功能与常见用法,结合实例形式详细分析了subprocess模块功能、常用函数相关使用技巧,需要的朋友可以参考下
    2018-06-06
  • 你所不知道的Python技巧13招【实用】

    你所不知道的Python技巧13招【实用】

    有时候你会看到很Cool的Python代码,你惊讶于它的简洁,你不由自主地赞叹:竟然还能这样写,其实,这些优雅的代码都要归功于Python的特性,只要你能掌握这些Pythonic的技巧,你一样可以写出像诗一样的Python代码,本文主要介绍Python应用的一些小技巧,一起来看下吧
    2016-12-12
  • Python标准库os.path包、glob包使用实例

    Python标准库os.path包、glob包使用实例

    这篇文章主要介绍了Python标准库os.path包、glob包使用实例,本文直接给出代码,代码中有详细注释,需要的朋友可以参考下
    2014-11-11
  • Python中lambda表达式的使用详解(完整通透版)

    Python中lambda表达式的使用详解(完整通透版)

    这篇文章主要介绍了Python中lambda表达式使用的相关资料,包括其基本语法、常见应用场景(如排序、map、filter、reduce函数结合使用)以及如何在函数内部或一次性使用,通过代码介绍的非常详细,需要的朋友可以参考下
    2024-12-12
  • MAC平台基于Python Appium环境搭建过程图解

    MAC平台基于Python Appium环境搭建过程图解

    这篇文章主要介绍了MAC平台基于Python Appium环境搭建过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08

最新评论