从同一脚本Python运行2个web.py服务器
Python新手。 我正在尝试从同一个脚本运行两个web.py服务器,服务器上有不同的端口。 基本上,我希望同时启动这两个脚本,并能够同时访问这两个端口。 如果我走到终端,分别启动每个脚本,它就会工作,但我不希望这样 脚本1从同一脚本Python运行2个web.py服务器,python,raspberry-pi,web.py,Python,Raspberry Pi,Web.py,Python新手。 我正在尝试从同一个脚本运行两个web.py服务器,服务器上有不同的端口。 基本上,我希望同时启动这两个脚本,并能够同时访问这两个端口。 如果我走到终端,分别启动每个脚本,它就会工作,但我不希望这样 脚本1 #!/usr/bin/python import sys sys.path.append('/usr/local/lib/python2.7/dist-packages/') import web import time urls = ( '/', 'index'
#!/usr/bin/python
import sys
sys.path.append('/usr/local/lib/python2.7/dist-packages/')
import web
import time
urls = (
'/', 'index'
)
class index:
def GET(self):
f = open('LiveFlow.txt', 'r')
lineList = f.readlines()
contents = lineList[-1]
return contents
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
脚本2
#!/usr/bin/python
import sys
sys.path.append('/usr/local/lib/python2.7/dist-packages/')
import web
import time
class MyApplication(web.application):
def run(self, port=8080, *middleware):
func = self.wsgifunc(*middleware)
return web.httpserver.runsimple(func, ('0.0.0.0', port))
urls = (
'/', 'index'
)
class index:
def GET(self):
f2 = open('FlowMeterOutput.txt', 'r')
lineList1 = f2.readlines()
contents1 = lineList1[-1]
return contents1
if __name__ == "__main__":
app = web.application(urls, globals())
web.httpserver.runsimple(app.wsgifunc(), ("0.0.0.0", 8888))
您应该能够通过在自己的线程中运行它们来实现这一点,如下所示:
导入线程
# ... 两台服务器。。。
def server1():
app=web.application(URL,globals())
app.run()
def server2():
app=web.application(URL,globals())
runsimple(app.wsgifunc(),(“0.0.0.0”,8888))
如果名称=“\uuuuu main\uuuuuuuu”:
t1=线程。线程(目标=服务器1)
t2=线程。线程(目标=服务器2)
t1.start()
t2.start()
t1.join()
t2.join()
此外,您似乎正在使用Python2.7,目前它已经非常旧了。除非有特定的原因,否则您应该使用Python3。大多数代码在Python 3中都可以正常工作,如果不是全部的话。您应该能够通过在自己的线程中运行它们来实现这一点,如下所示:
导入线程
# ... 两台服务器。。。
def server1():
app=web.application(URL,globals())
app.run()
def server2():
app=web.application(URL,globals())
runsimple(app.wsgifunc(),(“0.0.0.0”,8888))
如果名称=“\uuuuu main\uuuuuuuu”:
t1=线程。线程(目标=服务器1)
t2=线程。线程(目标=服务器2)
t1.start()
t2.start()
t1.join()
t2.join()
此外,您似乎正在使用Python2.7,目前它已经非常旧了。除非有特定的原因,否则您应该使用Python3。大多数代码在Python 3中都可以正常工作,如果不是全部的话。谢谢@gerwin的帮助。我得到了一些不想要的结果,太多了,无法在这里发布。但我目前正在更新我的Raspian OS和Python版本。很快我会有一个更好的答案谢谢你的帮助@gerwin。我得到了一些不想要的结果,太多了,无法在这里发布。但我目前正在更新我的Raspian OS和Python版本。很快我就会有一个更好的答案