5

我用了几天的AppFog PaaS 系统,我很喜欢它,它可能是我测试过的最好的 PaaS 系统(我之前使用过其他 3 个),但是没有找到关于如何服务静态的信息前端 Web 服务器的内容(Apache https 或 nginx) 我不确定正在使用什么服务器。

我的应用程序是一个带有 CherryPy 的 Python WSGI,并且在 AppFog 中完美运行,但我不希望 CherryPy 提供静态内容,我认为 Apache httpd 或 nginx 是一个更好的选择。

4

2 回答 2

2

在 Ryan 的支持下,我终于可以加载静态文件了!以下是步骤:

  1. 在项目根目录中创建了一个“静态”目录——这里所有的静态文件都将通过collectstatic命令被收集。

  2. 编辑settings.py文件:

    STATIC_ROOT = os.path.join( os.path.abspath( os.path.dirname( file ) ), '../static' ) # 可能会根据你的 settings.py 文件的位置而改变!

    STATIC_URL = '/静态/'

  3. 在urls.py文件的urlpatterns变量中添加以下行:

    url(r'^static/(?P.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT} ) ,

  4. 最后,在本地机器上运行 collectstatic 命令。这将从您正在使用的应用程序中复制所有静态文件:

    python manage.py collectstatic

而已。推入AF :)

collectstatic缺点:每次我们有一个新的静态文件时都需要运行......

于 2012-12-29T19:58:16.830 回答
0

编辑你的 nginx.conf 文件。在服务器部分输入...

   # serve static files
      location ~ ^/(images|javascript|css)/  {
      root    /var/www/html/appname;
    }

images、javascript 和 css 将是您文档根文件夹中的文件夹。相应地更新您的所有网址。

于 2012-11-03T12:40:30.920 回答