Apache更改脚本而不重启

时间:2016-06-02 11:10:31

标签: python apache

我在Apache

的VPS服务器上写了一个简单的Flask应用程序
from flask import Flask, render_template, request

import sys
app = Flask(__name__)

@app.route("/")
def hello():
    return "123"

if __name__ == "__main__":
    app.run()

当我将字符串return "123"更改为return "123456"并保存时,使用Ctrl + F5刷新网站时不会更改。 它只在我重新启动Apache服务器时才会更改。 如何在不重启的情况下更改文件?

1 个答案:

答案 0 :(得分:0)

您可以尝试重新加载。即使这会影响传入的流量。如果有多个服务器,您可以进行滚动重新加载或重新启动。

如果没有,你可以使用

正确地重新启动流量不受影响的apache

apachectl -k graceful

您也可以不重启或重新加载。

您获得旧代码的原因是,

  1. 你可能有一个编译的python代码(字节码)文件,它将为每个新请求提供服务,如果你的脚本是myscript.py,请检查是否有myscript.pyc,这是一个包含较旧版本的字节码脚本的版本。你需要删除它。

  2. 如果您使用wsgi模块在apache中提供python,则需要查看以下关于如何重新加载源代码的链接。

    https://code.google.com/archive/p/modwsgi/wikis/ReloadingSourceCode.wiki