2012-09-05 38 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

相關問題