web.pyでリスニングアドレスとポートを指定するにはどうすればよいですか?何かのようなもの:
web.application( urls, host="33.44.55.66", port=8080 )
編集
デフォルトのweb.pyコマンドライン解析の使用を避けたい
web.pyのAPIドキュメントから:
モジュールweb.httpserver 関数runsimple(func、server_address =( '0.0.0.0'、8080))
WSGIアプリ機能をホストするCherryPyWSGIサーバーを実行します。ディレクトリstatic/は静的にホストされます。
サンプルコード
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)
web.pyの組み込みWebサーバーを使用している場合は、コマンドにポートを追加するだけです。
python app.py 8080
リスニングアドレスを試したことはありませんが、1.2.3.4:8080をフォーマットとして受け入れる可能性があります。
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)
したがって、environ変数を追加することでWebサーバーのポートを設定できます。
import os
os.environ["PORT"] = "80"
URLS = ("/", index)
class index:
def GET:
....
if __name__ == "__main__":
app = web.application(URLS, globals())
web.httpserver.runsimple(app.wsgifunc(), ("0.0.0.0", 8888))