mac下Nginx使用和配置项理解

339 阅读1分钟

启动nginx

brew services start nginx

关闭nginx

brew services stop nginx

重启nginx(每次改动nginx.conf文件都应该重启才能生效)

brew services restart nginx

看到截图即重启成功

1637918547956.jpg

nginx配置项理解

# nginx进程数
worker_processes  1;

events {
  # 单个进程最大连接数
  worker_connections  1024;
}

http {
  # 加载 mime 类型
  include       mime.types;
  
  # 定义默认数据类型
  default_type  application/octet-stream;

  # 多个后台服务器支持。允许一台服务器宕机后,能继续保持系统可用。可用于图片服务器集群。纯静态页面服务器集群。可通过加权轮询等方式分发服务器
  upstream webhost {
      server 10.0.0.87:3000;
      server 10.0.5.85:3000;
  }
  
  # 开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件
  sendfile        on;
  
  # 长连接超时时间,单位是秒
  keepalive_timeout  120;
  
  # 可以通过server配置针对每一个运行的网站设置一组nginx进程,实现在同一台服务器中nginx为不同的网站提供web服务
  server {
      # 监听端口
      listen       8080;
      
      # 用户访问的域名
      server_name  localhost;

      #静态文件处理。图片缓存时间设置
      location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
          expires 10d;
      }
      
      #JS和CSS缓存时间设置
      location ~ .*.(js|css)?$ {
          expires 1h;
      }

      # 默认请求
      location / {
          proxy_pass http://webhost;
          proxy_max_temp_file_size 0;
          proxy_buffering off;
      }
      
      # location匹配server_name后请求的字符串。如server_name/uri-string。
      location /api/xxx {
          rewrite  ^/api/(.*)$ /toproxy/api/$1 break;
          proxy_pass http://webhost;
      }

      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
          root   html;
      }
  }
}