2

私はPythonにかなり慣れていません。私はいくつかのレッスンを学び始めました、そして今のところ、私はweb.pyに基づいた単純なウェブサーバーをデプロイしようとしています。誰かが私を助けて、これらの2つの質問に答えることができますか?

  1. web.pyを/home/.../public_html/cgi-bin/lib/python/webカタログにインストールしました。public_html-私のウェブサイトが始まるカタログ。では、Pythonスクリプトを一番上に何を書くべきですか?

    つまりimport web、スクリプトだけで書くと、/public_html/cgi-bin/lib/python/カタログでのみ正常に機能します。スクリプトを他のカタログに入れることはできますか?その場合、インポートセクションに何を書くべきですか?

  2. webpy.orgによると、単純な「Helloworld」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ますか?

PSスタックオーバーフローではフォーマットがうまく機能しないようです。そのために残念。

4

1 に答える 1

3

2 番目の質問: run をオーバーライドしてみてください。

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)
于 2012-09-05T07:08:14.963 に答える