Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在AppFog(WSGI Python应用程序)中使用Apache提供静态内容_Python_Apache_Wsgi_Appfog_Static Content - Fatal编程技术网

如何在AppFog(WSGI Python应用程序)中使用Apache提供静态内容

如何在AppFog(WSGI Python应用程序)中使用Apache提供静态内容,python,apache,wsgi,appfog,static-content,Python,Apache,Wsgi,Appfog,Static Content,我已经使用PaaS系统好几天了,我很喜欢它,它可能是我测试过的最好的PaaS系统(我以前使用过其他3个),但没有找到关于如何在前端的Web服务器(Apache https或nginx)上提供静态内容的信息。我不确定使用的是哪台服务器 我的应用程序是一个带有CherryPy的Python WSGI,在AppFog中可以完美运行,但我不希望CherryPy能够提供静态内容,我认为Apache httpd或nginx是更好的选择。编辑您的nginx.conf文件。在服务器部分输入 # serve

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


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

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

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

图像、javascript和css将是文档根文件夹中的文件夹。相应地更新所有URL。

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

  • 在项目根目录中创建了一个“静态”目录-在这里,所有静态文件都将通过运行命令进行收集

  • 编辑settings.py文件:

    STATIC_ROOT=os.path.join(os.path.abspath(os.path.dirname(file),“../STATIC”)#可能会根据您的settings.py文件所在的位置而更改

    静态URL='/STATIC/'

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

    url(r'^static/(?p.*)','django.views.static.service',{'document\u root':settings.static\u root})

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

    python manage.py静态

  • 就这样。推入式AF:)


    缺点:每次有新的静态文件时都需要运行
    collectstatic

    谢谢Andrew,但据我所知,AppFog不允许访问http.conf apache文件:-(更新了nginx服务器的答案。您好,Andrew,正如我前面提到的,我没有访问服务器配置文件的权限,我的应用程序在AppFog中运行,我只能更改我的应用程序目录中的文件。我已经在AppFog中打开了一个票证,以确定此功能是否可行(在其他PaaS系统中,如OpenShift可以做到这一点)。无论如何,谢谢您的回答。@rsc1975您的AppFog票证是公开的吗?如果是,您能提供到它的链接吗?我是AppFog的新手,但在类似的情况下,我需要能够编辑“nginx.conf”这适用于我的Node.js应用程序。@rsc1975你能设法修复它吗?我遇到了完全相同的问题…请帮助。我认为我错了,AppFog使用nginx作为代理服务器,而不是Apache httpd作为Python应用程序的代理服务器。无论如何,我仍然需要配置对静态内容的直接访问。如果我的回答有帮助,请将其设置为您的解决方案。谢谢s!Hi@giga,最初的问题是关于如何从AppFog前端(apache httpd或nginx)而不是从Python应用程序提供静态内容。实际上,我已经使用CherryPy(我在原始帖子中说过)从Python应用程序提供静态文件,但Python程序(或Java或其他)除外提供静态文件的效率不如成熟的web Server.Oops。首先,我在使用python提供静态文件时遇到了问题…:AppFog中的PSo您不能修改ngix.conf吗?