1

pcreate を使用して作成した Pyramid-Fanstatic アプリケーションがあります。

pcreate -s starter -s pyramid_fanstatic

/bin/pserve-fanstatic を使用してサーバーを起動すると、すべて正常に動作します。ただし、Apache WSGI モジュールを使用してアプリをロードすると、次のようなリンクが表示されます。

<link rel="stylesheet" type="text/css" href="/fanstatic/services/bootstrap/bootstrap.min.css" />

404 Not Found by Apache を返します。

これは私のWSGIアプリケーションです:

import os
activate_this = os.path.join('/opt/services/services/bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
os.environ['PYTHON_EGG_CACHE'] = '/opt/services/python-eggs'


from pyramid.paster import get_app, setup_logging
ini_path = '/opt/services/services/development.ini'
setup_logging(ini_path)
application = get_app(ini_path, 'main') 

これは私の Apache conf ファイルです。

<VirtualHost *:80>
    ServerAdmin a.orth@cgiar.org
    ServerName data.ilri.org

    # Pass authorization info on (needed for rest api).
    WSGIPassAuthorization On

    WSGIDaemonProcess services python-path=/opt/services/services display-name=services processes=2 threads=15
    WSGIScriptAlias /services /opt/services/services/services/services.wsgi process-group=services application-group=%{GLOBAL}

    <Location /services>
                WSGIProcessGroup services
    </Location>

    ErrorLog /var/log/httpd/services.error.log
    CustomLog /var/log/httpd/services.custom.log combined

</VirtualHost>

アプリケーションをロードする前に、/bin/pserve-fanstatic にリソース ディレクトリが含まれていることがわかります。

"""A script aware of static resource"""
    import pyramid.scripts.pserve
    import pyramid_fanstatic
    import os

    dirname = os.path.dirname(__file__)
    dirname = os.path.join(dirname, 'resources')
    pyramid.scripts.pserve.add_file_callback(
                pyramid_fanstatic.file_callback(dirname))
    pyramid.scripts.pserve.main()

しかし、init.py にそのような行を含めても、Apache はファンスタティック リソースを見つけることができません。

これも私のiniファイルに追加しました:

[filter:fanstatic]
use = egg:fanstatic#fanstatic

[pipeline:main]
pipeline = fanstatic services

他に何を確認/実行する必要がありますか?

4

2 に答える 2

1

Apacheに静的ファイルを提供するように指示しているようには見えません。見る:

于 2014-06-07T03:52:27.480 に答える
1

修理済み!!

[app:main] の ini ファイルに次の行を追加する必要がありました。

fanstatic.publisher_signature = fanstatic
fanstatic.use_application_uri = true

次のドキュメントに従って: https://pypi.python.org/pypi/pyramid_fanstatic

于 2014-06-09T09:37:51.430 に答える