Python 如何连接到正在运行的web.py脚本端口/套接字
我不熟悉web框架和web开发(我主要是Python桌面开发人员),一直在尝试web.py,取得了一些成功,但现在我陷入了困境 我的目标是让应用程序“运行”并不断更新,以便根据需要检索当前状态。在下面的基本示例中,我想启动一个计数器,并在连接到running应用程序时查看当前值Python 如何连接到正在运行的web.py脚本端口/套接字,python,web,cgi,web.py,Python,Web,Cgi,Web.py,我不熟悉web框架和web开发(我主要是Python桌面开发人员),一直在尝试web.py,取得了一些成功,但现在我陷入了困境 我的目标是让应用程序“运行”并不断更新,以便根据需要检索当前状态。在下面的基本示例中,我想启动一个计数器,并在连接到running应用程序时查看当前值 print("Content-type: text/html\n\n") from threading import Thread import time import web urls = ('/', 'index'
print("Content-type: text/html\n\n")
from threading import Thread
import time
import web
urls = ('/', 'index')
def test():
while True:
web.app.count += 1
print(web.app.count)
time.sleep(5)
class index:
def GET(self):
return web.app.count
if __name__ == '__main__':
web.app = web.application(urls, globals())
web.app.count = 0
t = Thread(target=test)
t.daemon = True
t.start()
web.app.run()
如果我使用localhost运行应用程序,它将按预期工作,我将连接到localhost:8080,并且打印到屏幕的值与打印到控制台的值匹配。如果我将该脚本作为cgi脚本上传到我的web主机,则该应用程序不会连续运行,并且每次连接到其url时都会运行,每次返回1,这可能是正常的。如所见,我似乎需要通过SSH运行脚本,例如:
python app.py 1234 > log.txt 2>&1 &
在端口1234上运行(默认值8080为“正在使用”)。这似乎有效,但我不知道在我的网站上哪里可以看到running应用程序。如何连接到此端口1234?myurl.com:1234不起作用,脚本的url仍然具有与以前相同的行为。我想答案并不是针对web.py的,而是我不了解这些东西是如何工作的——我的谷歌搜索没有返回任何有用的东西,可能是因为我问的问题不对。myurl.com:1234在什么方面不起作用?你是如何连接到它的?错误是什么?就在我的浏览器(谷歌浏览器)中。错误是“无法访问此站点”。或者,如果我尝试“myurl.com/cgi-bin/test.py:1234”,则会出现404错误。正确的语法是
myurl.com:1234/cgi-bin/test.py
,但它应该给出相同的“无法访问”错误。在myurl.com上配置防火墙并打开端口1234,以便从外部访问。我希望这是正确的答案,尽管我的共享主机将只打开出站端口,我相信我需要一个入站端口来设置。也许AWS或类似的软件是测试这个的方法?任何你可以根据自己的喜好配置的软件都可以。