📜  nginx 默认服务器 (1)

📅  最后修改于: 2023-12-03 15:03:10.843000             🧑  作者: Mango

nginx 默认服务器

Nginx (发音同"engine X")是一款高性能的Web服务器软件,同时也可以用作反向代理,负载均衡和HTTP缓存。

默认服务器

在Nginx中,默认服务器是一个用于接受来自尚未匹配到其他服务器名称的请求的特殊服务器块。 这个服务器块通常使用IP地址 端口*为80(HTTP)或443(HTTPS)进行配置。 这个服务器块是默认配置文件中的第一个服务器块。

以下是一个nginx默认服务器的基本配置块:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 404;
}
配置解释
  • listen: 指示服务器监听的端口和IP地址。在这个例子中,它监听HTTP请求(端口80)的IPv4和IPv6地址。
  • default_server: 指示这个服务器块应该当作默认服务器,处理尚未匹配到其他服务器名称的请求。
  • server_name: 它指定了服务器的名称。在这个例子中,我们使用 _ 占位符作为服务器名,这意味着该服务器块将匹配到所有请求。
  • return: 指示Nginx返回指定的HTTP状态代码。在这个例子中,返回404状态码。
配置示例

下面是一个更复杂的示例,展示如何在默认服务器上指定不同的根目录,并在请求静态资源时启用gzip压缩:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    root /var/www/default;
    index index.html;
    gzip on;
    gzip_types text/plain text/css application/json application/javascript;
    gzip_min_length 1000;
    location / {
        try_files $uri $uri/ =404;
    }
}
配置解释
  • root: 指定默认服务器的根目录。
  • index: 它指定所请求的目录没有明确指定文件时使用的默认文件名。
  • gzip: 指示是否启用在客户端请求时启用gzip压缩。
  • gzip_types: 指示启用gzip压缩的MIME类型。
  • gzip_min_length: 指示在压缩之前文件必须是多少字节以上。
  • location /: 用于匹配URI路径前缀,并执行特定的操作。

在上述示例中,nginx会使用指定的根目录来为默认服务器提供静态资源,同时启用gzip压缩来减小页面加载时间。 如果用户请求的uri无法找到,nginx会返回404 HTTP状态码。

结论

在Nginx服务器上,通过配置默认服务器,我们可以处理用户请求中指定的主机名,否则默认会将请求发送到默认服务器,并根据我们的设置对请求进行处理。

以上是nginx默认服务器的介绍,希望对程序员们有所帮助。