nginx - nginx.conf 中的 gzip 配置

标签 nginx

我想在我的应用程序服务器中激活 gzip 压缩。因为我检查了它是一个 nginx 服务器,并且我已经准备好 gzip 配置,但我不知道将其放置在 nginx.conf 文件中的何处。

文件内部有一些服务器 block ,因为有一个用于 json 数据的 API,另一个用于 js 和其他资源的 API。 还有一些其他项目我不想碰。所以它是这样的:

server {
  listen 443;

  location...
  ...
}

server {
  ...
}

server {
  ...
}

现在,我的 gzip 配置位于 http {} 内,但我应该将其放置在哪里?我的猜测是它应该进入我想要更新的每台服务器。所以像这样

server {
  ...
  http {
  }
}

server {
  ...
}

server {
  ...
  http {
  ...
  }
}

这是正确的还是 http 是全局部分?

谢谢

编辑。 好吧,看来服务器实际上是在 http 内部的,所以我的问题...如果启用了 gzip...它对所有内容都启用了?如果我只想为应用程序启用 gzip 该怎么办?

最佳答案

您的 gzip 配置可以放置在 http 部分、server 部分或 location 部分内。请参阅this document每个指令的可用上下文。

http 部分是包含所有 server 部分的最外层 block 之一。如果您正在查看顶层包含 server block 的文件,它不是您的 nginx 配置。它是 nginx 配置的一部分。

nginx 配置文件几乎总是称为 nginx.conf 并位于 /etc/nginx//usr 等位置/local/etc/nginx/.此文件可能包含 include 指令,用于从其他文件中提取配置(例如 sites-enabled 和/或 conf.d)。

如果这些 gzip 指令适用于单个应用程序,请将它们放置在相关的 serverlocation block 中,没有内部http 容器

关于nginx - nginx.conf 中的 gzip 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43583083/

相关文章:

nginx - 如何在docker-compose中设置DNS容器?

ssl - Nginx 中每个服务器的不同 TLS 协议(protocol)

ssl - 设置 nginx 以使用多个 ssl 证书而无需多个服务器

python - 以相反的顺序处理行

nginx - lua-resty-redis set_keepalive 推荐设置

node.js - AWS 上的 Node EADDRINUSE,与端口无关

wordpress - Nginx 为 WordPress'/wp-admin/root 提供 404 错误

python - 用压缩数据填充 memcached,直接从 nginx 服务

php - file_get_contents 得到错误的结果

python - 将域名连接到 django web 服务器