在服务器上自动重新加载Django文件

量子

我在django项目的服务器上使用centos,apache,mod_wsgi。

在通过sftp上传更改后的项目文件后,站点会随更改而打开,并且不会随机更改。

我认为,在重新启动apache之前不应该应用更改。是不是

Apache设置

<VirtualHost *:88>
ServerName h1.ru

UseCanonicalName Off
ServerAdmin  "[email protected]"
DocumentRoot /var/www/h1/h1.ru/
AllowEncodedSlashes On

WSGIDaemonProcess h1 processes=4
#WSGIProcessGroup h1


WSGIScriptAlias /site /var/www/h1/pyh1/h1/wsgi.py
Alias /static /var/www/h1/pyh1/static

<IfModule mod_ssl.c>
    SSLEngine off
</IfModule>

<Directory /var/www/h1/h1.ru>
    php_admin_flag engine on
    php_admin_flag safe_mode off
    php_admin_value open_basedir "/var/www/h1/h1.ru:/tmp"
    Options -Includes -ExecCGI
</Directory>    
</VirtualHost>

睡觉:

#!/usr/local/bin/python2.7
import os
import sys

sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "h1.settings")

from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application()
丹尼尔·罗斯曼

不对。通常,mod_wsgi将在多个单独的进程中运行,自动管理它们的启动和关闭。当新进程启动时,Python代码将在导入时从磁盘加载,因此该进程将以任何文件的最新版本运行。同时,任何已经运行的进程都将使用它们先前加载的版本,因此不会反映更改(除非激活了很少使用的代码路径,这导致导入了一个至今尚未导入的模块)。

当然,确保您在所有进程中都拥有最新选择的唯一方法是重新启动Apache。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Docker上自动重新加载Django服务器

在Docker上自动重新加载Flask服务器

保存文件后 Django 开发服务器不会自动重新加载

自动重新加载Koa服务器

Django服务器不重新加载文件更改

Py文件无法在Tornado服务器上自动编译

重新启动后如何在Ubuntu上自动启动JasperReports服务器或启动Ubuntu

如何通过 npm 服务器自动重新加载脚本

Webpack开发服务器无法自动重新加载

如何自动重新加载App Engine开发服务器?

如何在生产服务器上自动运行Django应用程序

在Spark / Jetty服务器中重新加载静态文件

Cron 运行计划未在服务器上自动运行

如何在服务器上自动启动Tor?

在启动服务器上自动备份/还原

在Ubuntu 16.04上自动启动Synergy服务器

在 Windows 上自动启动 Ruby on Rails 服务器

heroku&django:服务器未加载静态文件

Django:Bootstrap CDN或从本地服务器加载Bootstrap文件?

webpack服务器实时重新加载

从服务器角度重新加载数据

当我尝试访问管理部分时,Django网络服务器会在本地服务器上自动关闭

在odoo 8服务器上工作时“-自动重新加载”

csrf令牌在laravel中的每个请求上自动重新生成,这会导致生产服务器上的csrf令牌不匹配

webpack开发服务器:监视任意目录文件并重新加载

Rails服务器看不到代码更改并重新加载文件

如何在文件更改时重新加载环形服务器?

如何使服务器自动移动文件?

直到服务器重新启动,Django才会从静态目录加载新文件