我对python很新。我已经开始学习一些课程,现在,我正在尝试部署一个基于web.py的简单网络服务器。有人可以帮助我并回答这两个问题:
我在/home/.../public_html/cgi-bin/lib/python/web
目录中安装了web.py. public_html
- 我的网站开始的目录。那么我应该在顶部的python脚本中写什么?
我的意思是,如果我只写import web
而不是脚本只能在/public_html/cgi-bin/lib/python/
目录中正常工作。我可以把脚本放在其他目录中,不是吗?在这种情况下,我应该在导入部分写什么?
根据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()
当我运行它时,webserver将默认端口设为8080
。如何将其更改为标准80,这将使我的网站由网址http://website.com
提供?
P.S。在我看来格式化在stackoverflow上不能正常工作。对不起。
答案 0 :(得分:3)
第二个问题:尝试覆盖跑步。
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)