我在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] 删除。
我来说两句