全部主题 | Blog | 时讯 | @fullstackpython | Facebook | 源码
静态内容
网站中有些内容是不会改变的,所以应当直接通过 web 服务器或者内容分发网路(CDN)来为这些内容提供服务。例如 JavaScript,图片,CSS 文件等。
静态内容类型
静态内容可以是你开发过程中创建的一部分资源,例如登录页面的图片;也可以是用户生成的内容。Django 框架把这些分类为 资源 和 媒体 。
内容分发网络(CDN)
内容分发网络(CDN)是一个第三方的服务提供商,它会存储并为静态文件提供服务。例如, Amazon CloudFront,Akamai 和 Rackspace Cloud Files 都是 CDN 服务提供商。CDN 的目的是移除正在处理动态内容请求的 web 服务器的静态文件请求负载。例如,假如你有一台 512 MB 内存的虚拟私有服务器,并在上面运行着一个 nginx 服务器,它负责处理静态文件,同时又作为 Green Unicorn WSGI 服务器的前端,那么当访问流量很大时,nginx 服务器将会出现资源受限的情况。使用 CDN 可以让 nginx 服务器无需处理静态资源请求,那样的话,nginx 就可以全身心地负责给 Green Unicorn WSGI 服务器传递请求了。CDN 将会返回来自最接近请求者的数据中心的响应内容。
静态内容相关的资源
超级愚蠢白痴的 Djano, Pipeline 和 S3 入门指南 说明了如何在 S3 上托管静态内容,并在 Django 中使用那些文件。
破碎,缓存和在 Django 中进行 CDN 部署 说明了如何使用 django-compressor 和 CDN 来提供静态和媒体文件的动态伸缩服务。
使用 Django 上传和 Amazon S3 讲解了每一个设置步骤来帮助你使用 Django 向 Amazon S3 上传文件。
django-storages 是一个 Django 库,用于管理在 CDN 服务商如 Amazon S3 和其他 CDN 中的静态和媒体文件。
RevSys 有一篇非常好的文章,包含了例如设置缓存头、优化 JavaScript 和减小图片尺寸等 重要静态文件优化的方法。
12 个对 CDN 拥有丰富经验的人给出了他们的观点,参见这篇文章: CDN 专家说 CDN.
静态内容学习清单
找一个内容分发网络,从而移除你的本地 web 服务器中静态内容的请求负载。我推荐使用带有 Amazon S3 CloudFont,因为它很容易设置,并且可以根据高带宽请求自动调整。
更新你的 web 应用开发进度,从而将更新的静态文件上传到 CDN。
将静态内容服务从 www 的子域名移动到一个静态(或者类似名称)的子域名上,这样浏览器将会在进行 www HTTP 请求时并行地加载静态内容。
构建好你的 web 应用后该做什么?
想找到一个完整的,一步一步的部署方案吗?请看《The Full Stack Python Guide to Deployments》.
邮件获取更新
目录
1. 简介学习编程为什么用 Python?Python 2 还是 3?企业 PythonPython CommunityBest Python Podcasts最佳 Python 资源最佳 Python 视频2. 开发环境VimEmacs3. 核心语言生成器推导式4. Web 开发Web 框架DjangoFlaskBottlePyramidMorepath其它 Web 框架Web 设计级联样式表 (CSS)JavaScriptWebSockets模板引擎Web 应用安全静态网站生成器Jinja25. 数据关系型数据库NoSQL 数据存储对象关系映射器PostgreSQLMySQLSQLite6. Web APIsAPI 集成API 的创建Twilio7. 部署服务器平台即服务(PaaS)操作系统Web 服务器WSGI 服务器源码控制应用程序依赖静态内容任务队列配置管理持续集成日志监控Web 分析Docker缓存微服务DevOpsNginxApache HTTP 服务器CaddyGreen Unicorn (Gunicorn)UbuntuPelicanLektorMkDocs8. 测试单元测试集成测试代码度量调试9. MetaBotsChange LogFuture DirectionsAbout the AuthorSQLAlchemyPeewee …或者显示全部目录内容.
静态内容
重要的更新内容会通过 Twitter 账号@fullstackpython发布。
需要更加详细的教程吗?请看 《The Full Stack Python Guide to Deployments》。
Chapters
1. 简介2. 开发环境3. 核心语言4. Web 开发5. 数据6. Web APIs7. 部署 » 静态内容 8. 测试9. Meta …or view the full table of contents.
This site is based on Matt Makai's project Full Stack Python, thanks for his excellent work!
此网站由 @haiiiiiyun 和 开源爱好者们 共同维护。 若发现错误或想贡献,请访问: Github fullstackpython.cn 项目