Jak określić adres nasłuchiwania i port w web.py? Coś jak:web.py - podaj adres i port
web.application(urls, host="33.44.55.66", port=8080)
Edit
Chciałbym uniknąć za pomocą wiersza polecenia domyślne web.py parsowania
Jak określić adres nasłuchiwania i port w web.py? Coś jak:web.py - podaj adres i port
web.application(urls, host="33.44.55.66", port=8080)
Edit
Chciałbym uniknąć za pomocą wiersza polecenia domyślne web.py parsowania
Od API docmentation z web.py:
module web.httpserver function runsimple(func,server_address=('0.0.0.0', 8080))
Runs CherryPy serwer WSGI gospodarzem WSGI aplikacji func. Katalog static/jest hostowany statycznie.
Przykład kodu
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)
Jeśli używasz web.py wbudowanego serwera WWW, można po prostu dołączyć do portu z poleceniem:
python app.py 8080
nie próbowałem nigdy z adresem odsłuchu, ale być może będzie to zaakceptować 1.2.3.4:80 80 jako format.
if __name__ == "__main__":
web.httpserver.runsimple(app.wsgifunc(), ("0.0.0.0", 8888))
można zobaczyć kod podążać wsgi.py:
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)
więc można ustawić port serwera przez zmienną add environ:
import os
os.environ["PORT"] = "80"
Idź od intuicji, akceptuje też adres. Chociaż chciałbym użyć mojego własnego parsowania i nie mieszać go z domyślnym parserem wiersza poleceń web.py –
Czy chcesz uruchomić go z "normalnego" serwera WWW, takiego jak Apache czy coś takiego? Jeśli tak jest, będziesz musiał się bawić konfiguracją Apache, aby ustalić, który zestaw adresów/portów powinien wskazywać twój skrypt. – Dan