Full Stack Python logo Full Stack Python

全部主题 | Blog | 时讯 | @fullstackpython | Facebook | 源码

Nginx

Nginx 是 前 10 万个网站中第二常用的 web 服务器。Nginx 也可以作为 Python WSGI 服务器 或者甚至是其它 web 服务器(例如 Apache)的反向代理,用于处理请求并回传响应。

Python web application deployments rely on Nginx either as a web server or reverse proxy for WSGI servers.

Nginx 是 web 服务器 概念的一种实现。在部署 章节学习这些部分是如何组合在一起的或者查看所有主题的目录

我该使用 Nginx 还是 Apache HTTP 服务器?

让我们认清这两款“竞争”的服务器:它们都是非常棒的开源项目,并且都能够很好地为你的 web 应用部署提供服务。事实上,许多全球顶级的 web 应用在它们许多部署步骤中都同时使用这两款服务器,通过完整的 HTTP 请求—响应周期。

相对于 Apache,我个人使用 Nginx 更为频繁,因为它的配置文件感觉写起来更容易,并且有更少的可选模板。

这也有点懒惰的成分:Nginx 工作得很好,它从不会给我带来问题。所以,我坚持使用我久经沙场的 Ansible 配置管理 文件来设置 Nginx 使用 HTTPS 和 SSL/TLS 证书。

Nginx 安全防护

通过系统包管理器或者源码编译进行标准安装后的默认 Nginx 配置是一个很好的安全基础。 然而,最开始几次尝试设置密码和重定向会让人很疑惑。一个非常好的办法是阅读相关教程来确保你在被 HTTP(S) 配置折磨时避免最常见的安全错误

常见 Nginx 资源

  • 开源应用架构一书 中的 Nginx 章节 详细说明了为何 Nginx 以某种方式扩展构建,并且拥有很棒的部署之旅课程。

  • Nginx 内部:我们如何针对性能和扩展性进行设计 是一篇来自 Nginx 开发者的博客,说明了他们为何相信他们的架构模型要比其它构建 web 服务器的方法更加高效,更具扩展性。

  • 测试驱动 web 服务器配置 是一个非常好的故事,说明了如何反复应用配置变动,例如路由流量到 Piwik 进行web 分析、作为应用后端进行反向代理、以切当的方式终止 TLS 连接。 阅读一个写得很好的软件部署文章可以让人映像深刻,就像这篇来自政府机关的文章,虽然 UK 政府数字服务,还有美国 18F 以及美国数字服务形成了比最典型的机关更为可靠的文化。

  • 针对开发者的 Nginx 介绍 给出了最初几步来配置 Nginx 并运行它。

  • 一个更快的 Web 服务器:用 Nginx 替代 Apache 说明了在某些情况下为了提升性能可以使用 Nginx 替换 Apache。

  • Nginx 对比 Apache:我们的看法 由 Nginx 背后的开发者以第一方视角说明 web 服务器之间的差别。

  • 使用 Nginx 速度限制 说明了如何缓解使用 Nginx 速度限制进行密码暴力猜测尝试的问题。

  • Nginx 使用动态上游 是一篇非常重要的笔记,说明了如果你正在使用 Nginx 作为反向代理,如何使用变化的主机名设置你的上游 WSGI 服务器。

  • Nginx 缓存 说明了如何设置 Nginx 用于缓存 HTTP 请求,这通常可以使用 Varnish 完成,但是也可以使用 proxy_cache 和相关指令交给 Nginx 处理。

  • Nginx web 服务器教程 是最旧但也最好的教程,它说明了如何设置之前版本的 Nginx。

  • Nginx 中使用动态日志格式 说明了在 Nginx 中如何使用 HttpSetMiscModule 模块转换变量,并将输入映射到日志的可控制输出中。作者使用这种技术进行像素追踪,这种方法也可以用于其它目的,例如高级调试。

继续学习 web 服务器还是换个新主题?

我该选择哪种 web 服务器?

服务器上的什么程序会运行 Python 应用代码?

我应该如何提供静态内容文件服务?

#### 在这里注册以便每月能收到一份邮件资料,内容包含本站的主要更新、教程和 Python 书籍的打折码等。

The Full Stack Python Guide to Deployments 想找到一个完整的,一步一步的部署方案吗?请看《The Full Stack Python Guide to Deployments》.

邮件获取更新

##### 注册以便每月能收到一份邮件资料,内容包含本站的主要更新和 Python 教程。

目录

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 …或者显示全部目录内容.

Nginx

重要的更新内容会通过 Twitter 账号@fullstackpython发布。


需要更加详细的教程吗?请看 《The Full Stack Python Guide to Deployments》。

Chapters

1. 简介2. 开发环境3. 核心语言4. Web 开发5. 数据6. Web APIs7. 部署 » Nginx 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 项目