gpt4 book ai didi

python - 如何以正确的方式部署一个简单的 python 网络服务器?

转载 作者:太空宇宙 更新时间:2023-11-04 01:33:12 26 4
gpt4 key购买 nike

我是 python 的新手。我已经开始学习一些类(class),现在,我正在尝试部署一个基于 web.py 的简单网络服务器。有人可以帮我回答这两个问题吗:

  1. 我在/home/.../public_html/cgi-bin/lib/python/web目录下安装了web.py。 public_html - 我的网站的起始目录。那么我应该在 top 的 python 脚本中写什么呢?

    我的意思是,如果我只编写 import web,那么脚本只能在 /public_html/cgi-bin/lib/python/ 目录中正常工作。我可以将脚本放在其他目录中吗?在那种情况下我应该在导入部分写什么?

  2. 根据 webpy.org 的说法,一个简单的“Hello world”网络应用程序如下所示:

    import web

    urls = (
    '/(.*)', 'hello'
    )
    app = web.application(urls, globals())

    class hello:
    def GET(self, name):
    if not name:
    name = 'World'
    return 'Hello, ' + name + '!'

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

当我运行它时,网络服务器采用默认端口作为 8080。如何将其更改为标准 80,以便通过 url http://website.com 访问我的网站?

附言在我看来,格式化在 stackoverflow 上效果不佳。对此感到抱歉。

最佳答案

对于你的第二个问题:尝试覆盖运行。

import web

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 = (
'/(.*)', 'hello'
)

class hello:
def GET(self, name):
if not name:
name = 'World'
return 'Hello, ' + name + '!'

if __name__ == "__main__":
app = MyApplication(urls, globals())
app.run(port=8888)

关于python - 如何以正确的方式部署一个简单的 python 网络服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12274786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com