当前位置: 首页 > news >正文

Nginx配置文件介绍

user www-data;
worker_processes auto; # 工作进程数量,auto关键字让Nginx自动根据CPU核心数设置
pid /run/nginx.pid; # 指定Nginx进程ID文件的路径,便于管理进程
error_log /var/log/nginx/error.log warn; # 错误日志文件路径,日志级别为warn
include /etc/nginx/modules-enabled/*.conf;events {use epoll; # 事件驱动模型,Linux下推荐使用epollworker_connections 10; # 每个工作进程的最大连接数,决定Nginx能同时处理的客户端数量multi_accept on; # 启用后,Nginx会尽可能多地接受新连接,提高连接处理效率
}http {### Basic Settings##sendfile on; # 启用高效文件传输模式,提升静态文件的传输效率tcp_nopush on; # 减少网络包的数量,提高传输效率tcp_nodelay on; # 减少延迟,适用于需要快速响应的应用keepalive_timeout 120; # 长连接超时时间,单位为秒types_hash_max_size 2048; # MIME类型哈希表的最大大小,影响Nginx处理不同文件类型的效率server_tokens off; # 关闭服务器版本信息,提升安全性server_names_hash_max_size 512; # 服务器名称哈希表的最大大小,影响Nginx处理虚拟主机的效率server_names_hash_bucket_size 64; # 服务器名称哈希表的大小,影响Nginx处理虚拟主机的效率client_max_body_size 20m; # 客户端请求体的最大大小,防止过大的请求导致服务器资源耗尽client_body_buffer_size 128k; # 客户端请求体缓冲区大小server_name_in_redirect off; # 禁止在重定向中使用服务器名称,提升安全性# limit_req_zone定义客户端的请求频率,防止恶意攻击和流量滥用# 示例配置中,limit_req_zone指令创建了一个名为myLimit的共享内存区域,大小为10MB# 使用客户端的二进制IP地址作为键,限制请求速率为每秒10个请求# limit_req指令在location块中使用,应用该请求速率限制limit_req_zone $binary_remote_addr zone=myLimit:10m rate=10r/s;# include指令用于引入其他配置文件# 在http块中,通常引入mime.types文件来配置Nginx支持MIME类型include /etc/nginx/mime.types; # 包含MIME类型映射文件,定义文件扩展名与MIME类型的对应关系default_type application/octet-stream; # 默认MIME类型,当Nginx无法识别文件类型时使用# 安全模块配置,防止SQL注入和XSS攻击xss_filter on; # 启用XSS过滤,防止跨站脚本攻击xss_filter_level HIGH; # 设置XSS过滤级别为HIGHxss_filter_types text/html text/plain text/xml; # 指定启用XSS过滤的MIME类型sql_injection on; # 启用SQL注入防护sql_injection_level HIGH; # 设置SQL注入防护级别为HIGHsql_injection_sensitive_word_file /etc/nginx/sql_injection_words.txt; # 指定包含SQL注入敏感词的文件路径sql_injection_types text/html text/plain text/xml; # 指定启用SQL注入防护的MIME类型### SSL Settings##ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 支持的SSL/TLS协议版本,禁用过时和不安全的版本ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305'; # 安全的加密套件列表,优先使用强加密算法ssl_prefer_server_ciphers on; # 优先使用服务器端的加密套件顺序,提升安全性ssl_session_cache shared:SSL:10m; # SSL会话缓存配置,提升SSL握手性能ssl_session_timeout 10m; # SSL会话缓存超时时间ssl_session_tickets off; # 禁用SSL会话票据,提升安全性ssl_stapling on; # 启用OCSP Stapling,提升SSL证书验证性能ssl_stapling_verify on; # 启用对OCSP响应的验证,提升安全性### Logging Settings### 访问日志格式,方便对请求进行分析和统计。下面配置定义了名为main的日志格式# 包含客户端IP、用户标识、时间戳、请求行、状态码、响应体大小、引用页、用户代理和X-Forwarded-For头信息等字段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; # 指定访问日志文件路径### Gzip Settings##gzip on; # 启用Gzip压缩,提高传输效率,减少带宽使用gzip_disable "msie6"; # 禁用对IE6及以下版本的Gzip压缩,避免兼容性问题gzip_vary on; # 允许根据客户端的Accept-Encoding头选择是否使用Gzip压缩gzip_proxied any; # 启用对所有请求的Gzip压缩,包括来自代理服务器的请求gzip_comp_level 6; # 设置Gzip压缩级别,范围为1-9,数字越大压缩率越高但CPU消耗也越大gzip_buffers 16 8k; # 为Gzip压缩分配缓冲区,16个8KB的缓冲区gzip_http_version 1.1; # 仅对HTTP/1.1及以上版本启用Gzip压缩gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; # 指定启用Gzip压缩的MIME类型### Virtual Host Configs##include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;
}server {listen 8081; # 设置虚拟机监听的端口server_name www.lee.com; # 设置服务器域名root /usr/local/littlefish/html; # 设置网站根目录index index.html; # 设置默认索引文件# location块可以根据请求的URL进行匹配,并设置不同的处理规则location /static { limit_req zone=myLimit burst=20 nodelay; # 应用请求速率限制,允许突发请求20个,nodelay表示不延迟处理突发请求alias /usr/local/littlefish/static/; # alias指令会将/static路径映射到指定目录}# location还支持正则表达式匹配URL,通过在location后加~符号表示使用正则匹配# ~*表示不区分大小写的正则匹配,当客户端请求URL以.jpg或.png结尾时,会使用该location块的配置location ~* \.(jpg|png)$ {root /usr/local/littlefish/images; # 使用正则表达式匹配jpg和png图片文件}location / {proxy_pass http://backend; # 将请求转发到名为backend的upstreamproxy_set_header Host $host; # 设置Host头为客户端请求的Hostproxy_set_header X-Real-IP $remote_addr; # 设置X-Real-IP头为客户端真实IP地址proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置X-Forwarded-For头,包含客户端IP链proxy_set_header X-Forwarded-Proto $scheme; # 设置X-Forwarded-Proto头,表示请求使用的协议(http或https)}
}# upstream模块用于定义一组后端服务器,Nginx可以将请求转发到这些服务器上
# 下面的配置定义了一个名为backend的upstream,包含三个后端服务器
# Nginx会根据配置的负载均衡算法将请求分发到这些服务器上,常见的负载均衡策略有:轮询(默认)、加权轮询、IP哈希等
upstream backend {ip_hash; # 使用IP哈希算法进行负载均衡,同一客户端的请求会被分配到同一台后端服务器server backend1.example.com weight=5; # 权重为5server backend2.example.com; # 默认权重为1server backend3.example.com max_fails=3 fail_timeout=30s; # 最大失败次数为3,失败超时时间为30秒
}# mail {
#   # See sample authentication script at:
#   # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript#   # auth_http localhost/auth.php;
#   # pop3_capabilities "TOP" "USER";
#   # imap_capabilities "IMAP4rev1" "UIDPLUS";#   server {
#     listen     localhost:110;
#     protocol   pop3;
#     proxy      on;
#   }#   server {
#     listen     localhost:143;
#     protocol   imap;
#     proxy      on;
#   }
# }
http://www.wxhsa.cn/company.asp?id=2304

相关文章:

  • 《提问的艺术》笔记:(2025/9/12)
  • 各模态优势(可见光保留细节纹理,红外突出目标)
  • 复习vue
  • 眼下硬件是足够用的,最大的问题还是AI模型本身的能力不太够。没办法让硬件真正用起来,比如AI难以很好地控制灵巧手
  • 深入理解C语言---函数
  • Ubuntu 点击任务栏应用程序最小化
  • Agent Sudo | Writeup | TryHackMe
  • UT_HASH
  • 使用helm安装APISIX
  • 决策单调性
  • 2025 国内 HR SaaS 系统深度分析:Moka 引领 AI 变革
  • 学生信息管理系统案例初步分析报告
  • Billu靶场
  • 初识pyhton:一些基础的知识(文件)
  • 实用指南:Git分支管理:从创建到合并冲突解决(二)
  • 20250912
  • [ARC198C] Error Swap
  • 配置win10、linux虚拟机ip
  • 【正则表达式初探】grep 命令避免匹配自身
  • 测试工程师的核心竞争力是什么?绝不是点点点
  • 关于 ECT-OS-JiuHuaShan 框架的终极阐释
  • 向“光”而行 | 相聚2025 ASML中国日,携手奔赴“芯”辰大海
  • JavaDay3
  • U3D动作游戏开发读书笔记--2.2 编辑器本身的基础知识
  • 20250904
  • 临时代码存储
  • 域环境服务器搭建
  • 25fall 做题记录 - Amy
  • 决策单调性优化 dp
  • 地平线与哈啰合作 加速L4自动驾驶研发