2013-01-21 4 views

Antwort

22

Von API docmentation von web.py:

module web.httpserver 
    function runsimple(func,server_address=('0.0.0.0', 8080))

Läuft CherryPy WSGI Server WSGI App func Hosting. Das Verzeichnis static/wird statisch gehostet.

Beispielcode

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

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

Parsen vermeiden Wenn Sie mit dem web.py integrierten Webserver, können Sie nur hängen sie den Port mit dem Befehl:

python app.py 8080 

ich nicht immer mit der Hörposition Adresse versucht, aber vielleicht wird es akzeptieren 1.2.3.4:80 80 als Format.

+0

Go od Intuition akzeptiert es auch Adresse. Obwohl ich meine eigene Befehlszeilenanalyse verwenden möchte und sie nicht mit dem Standard-Web.py-Befehlszeilenparser mischt. –

+0

Meinen Sie, es von einem "normalen" Webserver wie Apache oder etwas zu starten? Wenn dies der Fall ist, müssen Sie mit der Apache-Konfiguration herumspielen, um festzustellen, welche Adresse/Port-Kombination auf Ihr Skript verweisen sollte. – Dan

2
if __name__ == "__main__": 
    web.httpserver.runsimple(app.wsgifunc(), ("0.0.0.0", 8888)) 
3

Sie die Folge Code in wsgi.py sehen:

server_addr = validip(listget(sys.argv, 1, '')) 
if os.environ.has_key('PORT'): # e.g. Heroku 
    server_addr = ('0.0.0.0', intget(os.environ['PORT'])) 

return httpserver.runsimple(func, server_addr) 

so können Sie den Webserver-Port von Add environ Variable:

import os 
os.environ["PORT"] = "80"