nginx 常见配置详解
发布时间:2023-04-25 11:52:15
Nginx 是一个轻量级的高性能 Web 服务器和反向代理服务器,具有很多优秀的特性和功能。下面是一些常见的 Nginx 配置及其详解:
- server:server 是 Nginx 配置文件的顶级块,它包含了所有的虚拟主机配置信息。一个 server 通常包含一个 listen 指令,指定监听的端口号和协议,以及 server_name 指令,指定该虚拟主机的域名。
- location:location 块用来匹配 URL 路径,并指定相应的处理规则。location 有两种类型,一种是精确匹配,一种是正则表达式匹配。常用的指令包括 proxy_pass(反向代理转发)、try_files(检查文件是否存在)、rewrite(重写 URL)、alias(指定文件路径)、auth_basic(基本认证)等。
- upstream:upstream 是 Nginx 的反向代理模块,用于将请求转发给一组后端服务器。upstream 中的服务器可以是 IP 地址或主机名,并且支持权重、健康检查等功能。
- gzip:gzip 是 Nginx 的压缩模块,用于对输出内容进行压缩,减小传输数据量,提高响应速度。gzip 配置包括 gzip on/off(开启或关闭压缩)、gzip_types(指定需要压缩的 MIME 类型)、gzip_min_length(指定最小压缩文件大小)等。
- log_format:log_format 用于自定义 Nginx 的访问日志格式,可以包含多个变量,如时间、IP 地址、HTTP 方法、URL 路径、状态码等。
- error_page:error_page 用于定义自定义的错误页面,可以根据不同的 HTTP 状态码指定不同的错误页面。
- server_tokens:server_tokens 控制 Nginx 在响应头中显示的服务器信息,包括 Nginx 版本号和操作系统信息。可以通过设置 server_tokens off 来隐藏这些信息,提高安全性。
- worker_processes:worker_processes 指定 Nginx 启动时的 worker 进程数,一般设置为 CPU 核心数的两倍。
- client_max_body_size:client_max_body_size 用于限制客户端上传的请求体大小,避免过大的请求体导致服务器崩溃。可以设置为一个固定的值,如 client_max_body_size 10M,也可以根据需要动态计算,如 client_max_body_size $size。
以上是一些常见的 Nginx 配置及其详解,Nginx 还有很多其他的配置和功能,需要根据具体的业务需求进行设置和调整。