e> 从嵌入式控制台打印app.apples,它告诉我“app”没有定义,所以可能我误解了嵌入式控制台的用途。它是Python解释器,您需要先导入模块,然后才能从模块中访问内容,所以请先尝试“导入app”。对,所以我在嵌入式控制台中导入了我的web应用,但

e> 从嵌入式控制台打印app.apples,它告诉我“app”没有定义,所以可能我误解了嵌入式控制台的用途。它是Python解释器,您需要先导入模块,然后才能从模块中访问内容,所以请先尝试“导入app”。对,所以我在嵌入式控制台中导入了我的web应用,但,python,apache,mod-wsgi,wsgi,Python,Apache,Mod Wsgi,Wsgi,e> 从嵌入式控制台打印app.apples,它告诉我“app”没有定义,所以可能我误解了嵌入式控制台的用途。它是Python解释器,您需要先导入模块,然后才能从模块中访问内容,所以请先尝试“导入app”。对,所以我在嵌入式控制台中导入了我的web应用,但它与我通过套接字文件连接到的web应用程序的运行实例无关。例如,如果我在web浏览器中访问三次“/”,那么app.apples=3,但是当我在嵌入式控制台中打印app.apples时,我会得到0。明白我的意思了吗?我想在运行的实例上进行实时调试


e> 从嵌入式控制台打印app.apples,它告诉我“app”没有定义,所以可能我误解了嵌入式控制台的用途。它是Python解释器,您需要先导入模块,然后才能从模块中访问内容,所以请先尝试“导入app”。对,所以我在嵌入式控制台中导入了我的web应用,但它与我通过套接字文件连接到的web应用程序的运行实例无关。例如,如果我在web浏览器中访问三次“/”,那么
app.apples=3
,但是当我在嵌入式控制台中打印app.apples时,我会得到
0
。明白我的意思了吗?我想在运行的实例上进行实时调试?然后,您的问题可能会归结为如何配置mod_wsgi,您没有解释。将调试打印语句添加到应用程序模块,以打印出文件、名称和os.getpid(),然后在通过嵌入式解释器访问时验证是否相同。如果mod_wsgi配置错误,您可能不会与同一进程或甚至是正确的子解释器对话。
from flask import Flask

app = Flask(__name__)
app.debug = True

app.apples = 0

@app.route('/')
def hello():
    app.apples += 1
    return 'blah: %d' % app.apples

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)
import web

def add_global_hook():
    g = web.storage({"counter": 0})
    def _wrapper(handler):
        web.ctx.globals = g
        return handler()
    return _wrapper

class Hello:
    def GET(self):
        web.ctx.globals.counter += 1
        return "<h1>Counter: %d</h1>" % web.ctx.globals.counter

urls = ("/", "Hello")
app = web.application(urls, globals())
app.add_processor(add_global_hook())
app.run()
ProxyPass /wsgi/myapp http://127.0.0.1:81
ProxyPassReverse /wsgi/myapp http://127.0.0.1:81
>>> import wsgiref.simple_server
>>> server = wsgiref.simple_server.make_server('0.0.0.0', 8888, wsgiref.simple_server.demo_app)
>>> server.serve_forever()
127.0.0.1 - - [21/Jul/2016 00:44:04] "GET / HTTP/1.1" 200 2664
127.0.0.1 - - [21/Jul/2016 00:44:05] "GET /favicon.ico HTTP/1.1" 200 2615
127.0.0.1 - - [21/Jul/2016 00:44:05] "GET /favicon.ico HTTP/1.1" 200 2675
^CTraceback (most recent call last):
  File "<ipython-input-5-30934a6743d8>", line 1, in <module>
    server.serve_forever()
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 236, in serve_forever
    poll_interval)
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 155, in _eintr_retry
    return func(*args)
KeyboardInterrupt

>>>