您的位置:首页 > 汽车 > 新车 > h5动画制作_宁波网站建设服务商_百度收录规则2022_微信信息流广告投放

h5动画制作_宁波网站建设服务商_百度收录规则2022_微信信息流广告投放

2025/8/9 13:58:45 来源:https://blog.csdn.net/weixin_43724911/article/details/145759844  浏览:    关键词:h5动画制作_宁波网站建设服务商_百度收录规则2022_微信信息流广告投放
h5动画制作_宁波网站建设服务商_百度收录规则2022_微信信息流广告投放

nginx.conf配置文件说明

基本结构

  1. 全局块:位于最外层,定义影响整个Nginx服务器的设置。
  2. 事件块:配置网络连接相关的设置。
  3. HTTP块:定义HTTP服务器以及反向代理、负载均衡等特性。
  4. Server块:定义虚拟主机,即响应哪些请求及如何响应。
  5. Location块:更精确地控制对特定URL路径的请求。

1. 全局配置

全局配置影响 Nginx 的整体运行,通常位于文件顶部。

user  nginx;  # 运行 Nginx 的用户和组
worker_processes  auto;  # 工作进程数,通常设为 CPU 核心数
error_log  /var/log/nginx/error.log warn;  # 错误日志路径和级别
pid        /var/run/nginx.pid;  # 主进程 PID 文件路径

2. 事件配置

事件配置控制 Nginx 处理连接的方式。

events {worker_connections  1024;  # 每个工作进程的最大连接数use epoll;  # 使用 epoll 事件模型(Linux)multi_accept on;  # 允许同时接受多个连接
}

3. HTTP 配置

HTTP 配置块包含所有与 HTTP 相关的配置。

http {include       /etc/nginx/mime.types;  # 包含 MIME 类型文件default_type  application/octet-stream;  # 默认 MIME 类型log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';  # 日志格式access_log  /var/log/nginx/access.log  main;  # 访问日志路径和格式sendfile        on;  # 启用 sendfile 系统调用tcp_nopush     on;  # 优化数据包发送tcp_nodelay    on;  # 禁用 Nagle 算法keepalive_timeout  65;  # 保持连接的超时时间gzip  on;  # 启用 gzip 压缩gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;  # 压缩的文件类型include /etc/nginx/conf.d/*.conf;  # 包含其他配置文件include /etc/nginx/sites-enabled/*;  # 包含虚拟主机配置
}

4. Server 配置

Server 配置块定义虚拟主机,每个块对应一个域名或 IP 地址。

server {listen       80;  # 监听端口server_name  example.com;  # 服务器名称(域名)location / {root   /usr/share/nginx/html;  # 根目录index  index.html index.htm;  # 默认索引文件}error_page  404  /404.html;  # 404 错误页面location = /404.html {root   /usr/share/nginx/html;}error_page   500 502 503 504  /50x.html;  # 50x 错误页面location = /50x.html {root   /usr/share/nginx/html;}
}

5. Location 配置

Location 配置块定义如何处理特定 URL 路径的请求。

location /images/ {root   /data;  # 文件根目录index  index.html;
}location ~ \.php$ {proxy_pass   http://php_backend;  # 反向代理到 PHP 后端include      fastcgi_params;  # 包含 FastCGI 参数fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
}

6. 反向代理配置

Nginx 常用作反向代理,将请求转发到后端服务器。

http {upstream backend {# 负载均衡算法: round-robin (默认), least_conn, ip_hash, 或者其他# 使用ip_hash实现简单的会话保持ip_hash;# 后端服务器列表server 192.168.1.101:8080 max_fails=3 fail_timeout=30s;  # 后端服务器 1server 192.168.1.102:8080 max_fails=3 fail_timeout=30s;  # 后端服务器 2# 备用服务器,在所有主服务器都不可用时启用server 192.168.1.103:8080 backup;# 健康检查(需要第三方模块或使用商业版)# check interval=3000 rise=2 fall=5 timeout=1000 type=http;# check_http_send "HEAD /health HTTP/1.0\r\n\r\n";# check_http_expect_alive http_2xx http_3xx;}server {listen       80;server_name  example.com;location / {proxy_pass  http://backend;  # 反向代理到后端服务器# 设置HTTP头部信息proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;# 超时设置proxy_connect_timeout       60s;proxy_send_timeout          60s;proxy_read_timeout          60s;send_timeout                60s;# 缓冲区大小设置proxy_buffer_size           128k;proxy_buffers               4 256k;proxy_busy_buffers_size     256k;proxy_temp_file_write_size  256k;# 如果后端响应头中没有指定Content-Length,则允许流式传输proxy_buffering off;}# 错误页面处理error_page 500 502 503 504 /50x.html;location = /50x.html {root   /usr/share/nginx/html;}}
}

7. SSL/TLS 配置

Nginx 支持 SSL/TLS,用于加密 HTTPS 流量。

server {listen       443 ssl;server_name  example.com;ssl_certificate      /etc/nginx/ssl/example.com.crt;  # SSL 证书ssl_certificate_key  /etc/nginx/ssl/example.com.key;  # SSL 私钥ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location / {root   /usr/share/nginx/html;index  index.html index.htm;}
}

主要的负载算法

1. 轮询(Round Robin)

  • 默认策略:如果没有指定其他策略,Nginx会使用轮询作为默认的负载均衡方法。
  • 工作原理:按照顺序依次将请求分配给每个后端服务器。当到达列表末尾时,重新从头开始。
  • 适用场景:适合所有后端服务器性能相近的情况。
upstream backend {server backend1.example.com;server backend2.example.com;
}

2. 最少连接(Least Connections)

  • 策略描述:将新请求分配给当前连接数最少的服务器。
  • 配置方式:通过least_conn指令启用。
  • 适用场景:适用于长连接或请求处理时间差异较大的情况,可以更均匀地分布负载。
upstream backend {least_conn;server backend1.example.com;server backend2.example.com;
}

3. IP哈希(IP Hash)

  • 策略描述:基于客户端IP地址的哈希值来选择服务器,确保来自同一IP的请求总是被发送到相同的服务器上(除非该服务器不可用)。
  • 配置方式:通过ip_hash指令启用。
  • 适用场景:需要会话保持(sticky sessions)的情况下非常有用,例如用户登录状态需要在多个请求间保持一致。
upstream backend {ip_hash;server backend1.example.com;server backend2.example.com;
}

4. 加权轮询(Weighted Round Robin)

  • 策略描述:允许为每个服务器设置权重,权重越高的服务器接收更多的请求。
  • 配置方式:直接在server指令中添加weight参数。
  • 适用场景:可以根据服务器性能或容量调整流量分配比例。
upstream backend {server backend1.example.com weight=3;server backend2.example.com;
}

5. 通用Hash(Generic Hash)

  • 策略描述:允许你定义一个自定义键(可以是文本、变量等),并根据这个键的哈希值来选择服务器。
  • 配置方式:通过hash指令和指定的键启用。
  • 适用场景:对于某些特定应用可能需要固定某类请求到特定服务器的情况。
upstream backend {hash $request_uri consistent;server backend1.example.com;server backend2.example.com;
}

注意这里的consistent关键字用于启用一致性哈希,这有助于减少缓存丢失问题。

6. 最少时间(Least Time,仅限Nginx Plus)

  • 策略描述:综合考虑平均响应时间和活跃连接数,选择最佳服务器。
  • 配置方式:这是Nginx Plus特有的功能,通过least_time指令启用。
  • 适用场景:优化响应速度的关键场景。
upstream backend {least_time header; # 或者 last_byteserver backend1.example.com;server backend2.example.com;
}

7. 随机选择(Random,仅限Nginx Plus)

  • 策略描述:随机选择一台服务器,可以选择是否结合最小连接数或加权机制。
  • 配置方式:这也是Nginx Plus的功能之一。
upstream backend {random two least_conn;server backend1.example.com;server backend2.example.com;
}

上传or下载

Nginx本身是一个高性能的HTTP和反向代理服务器,主要用于处理静态文件服务、反向代理、负载均衡等任务。虽然Nginx的核心功能并不直接包括复杂的文件上传下载管理,但它可以通过一些配置和技术实现基本的文件上传和下载支持。

文件下载

对于文件下载,Nginx可以非常高效地提供静态文件服务。你只需要将文件存储在Nginx能够访问的目录中,并通过适当的配置来允许客户端访问这些文件即可。

nginx深色版本

server {listen 80;server_name example.com;location /downloads/ {alias /path/to/your/files/;auto_index on;  # 可选,开启目录浏览功能}
}

在这个例子中,当用户访问http://example.com/downloads/时,Nginx会从服务器上的/path/to/your/files/目录下查找对应的文件并返回给客户端。如果启用了auto_index on;,则还会显示该目录下的文件列表。(风险: 使用 Nginx 的 X-Accel-Redirect 实现安全下载)

location /protected-downloads/ {internal;alias /secure/path/to/files/;
}

文件上传

Nginx本身不直接支持文件上传处理,因为这是一个需要后台逻辑处理的操作(如验证文件类型、大小限制、保存文件到服务器等)。然而,你可以结合其他后端技术(如PHP、Python、Node.js等)来实现文件上传的功能,而Nginx作为前端反向代理来转发请求。

其他

server_name的基本使用

  1. 精确匹配
    • 直接写入完整的域名。
    • 示例:server_name example.com;
    • 影响:只有当请求的Host头完全匹配example.com时,此配置块才会处理该请求。
  2. 通配符匹配
    • 使用*来匹配任意数量的字符。
    • 前缀通配符:*.example.com,匹配所有子域名。
    • 后缀通配符:example.*,匹配所有顶级域下的example域名。
    • 示例:server_name *.example.com;
    • 影响:适用于任何以.example.com结尾的子域名请求。
  3. 正则表达式匹配
    • 使用~开头表示正则表达式匹配。
    • 示例:server_name ~^(www\.)?(.+)$;
    • 影响:可以灵活地定义复杂的匹配规则,比如忽略www.前缀等。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com