19

私はpythonとCherryPyを使用して、約2人が使用する単純な内部Webサイトを作成しています。CherryPy.quickstartで組み込みのWebサーバーを使用し、構成ファイルをいじることはありません。最近マシンを変更したので、最新のPythonとcherrypyをインストールしました。サイトを実行すると、localhost:8080からアクセスできますが、IPやWindowsのマシン名からはアクセスできません。マシン構成の違いか、CherryPyまたはPythonの新しいバージョンである可能性があります。正しいIPアドレスにバインドする方法はありますか?

編集:明確にするために、私は現在、構成ファイルをまったく持っていません。

4

3 に答える 3

39
server.socket_host: '0.0.0.0'

...も機能します。それが IPv4 INADDR_ANY で、「すべてのインターフェイスをリッスンする」ことを意味します。

構成ファイルの構文は次のとおりです。

[global]
server.socket_host: '0.0.0.0'

コード内:

cherrypy.server.socket_host = '0.0.0.0'
于 2008-09-30T06:55:25.050 に答える
18

それは、cherrypy init の実行方法によって異なります。

cherrypy 3.1 構文を使用している場合は、次のようになります。

cherrypy.server.socket_host = 'www.machinename.com'
cherrypy.engine.start()
cherrypy.engine.block()

もちろん、サーバー クラスのサブクラス化や構成ファイルの使用など、より凝ったものを作成することもできます。これらの使用法はドキュメントで説明されています。

しかし、それで十分なはずです。あなたが何をしているのか、cherrypyバージョンを教えていただけない場合は、この回答を編集します。

于 2008-09-22T16:16:12.190 に答える
8
import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.server.socket_host = '0.0.0.0' # put it here 
cherrypy.quickstart(HelloWorld())
于 2016-12-28T18:13:44.370 に答える