2012-09-05 30 views
1

我很新的python。我已经开始学习一些lesssons,现在,我正在尝试部署一个基于web.py的简单Web服务器。有人能帮助我,给回答这两个问题:如何以正确的方式部署简单的python网络服务器?

  1. /home/.../public_html/cgi-bin/lib/python/web目录安装web.py。 public_html - 我的网站开始的目录。那么,我应该写在顶部的Python脚本?

    我的意思是,如果我只写import web比脚本作品罚款只在/public_html/cgi-bin/lib/python/目录。我可以把脚本放在其他目录中吗?在这种情况下,我应该在进口部分写什么?

  2. 根据webpy.org一个简单的 “Hello World” 的Web应用程序的样子:

    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() 
    

当我运行它,web服务器采用默认端口为8080。如何将其更改为标准80,这将使我的网站可通过url http://website.com

P.S.在我看来,格式不能在stackoverflow上正常工作。对不起。

+0

您应该在web.py手册中阅读[this entry](http://webpy.org/cookbook/mod_wsgi-apache)。 –

回答

2

您的第二个问题:尝试覆盖运行。

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) 
+0

谢谢你的例子!但在这种情况下,我不能在80端口上运行它?我必须继续http://website.com:8888/ –

+0

你只需要修改端口:app.run(port = 80) – Lujeni

相关问题