Bluehost の記事は最高のリソースでしたが、最新のパッチの入手に関する部分 (ステップ 3 の最初) を注意深く読んでいませんでした。この記事の時点では、CherryPy バージョン 3.1.2 でも、「動的モード」の fcgi を実行することはできません (Apache がプロセスを生成するとき)。詳細はこちら。共有ホストを使用している場合、動的モードは基本的に不可欠です。
トランク (3.2.0rc1) をチェックアウトし、いくつかのフープを飛び越えた後、動作するようになりました。bluehost 記事のステップ 5、メソッド C に従いました。これが私のcherryd.fcgiのメインのものです:
if __name__ == '__main__':
cherrypy.config.update({
'server.socket_port': None,
'server.socket_host': None,
'server.socket_file': None
})
start( daemonize=False, fastcgi=True, imports=["hello"])
また、cherrypy/process/servers.py で、次の行を変更する必要がありました。
# from this
# if not hasattr(socket.socket, 'fromfd'):
# to this
if not hasattr(socket, 'fromfd'):
したがって、それを機能させることは可能ですが、ハックのように感じます. バージョン 3.2.0 の最終リリースを待つか、私が行ったようにWeb.pyをチェックアウトする必要があります。共有ホストで非常に簡単に動作させることができました (ドキュメントでは fastcgi/htaccess がよく説明されています)。