nginx原理和配置项详解

一、nginx原理

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。其工作原理和配置项如下:

工作原理:

  1. 反向代理:Nginx可以作为反向代理服务器,接收客户端的请求,然后将请求转发给后端的服务器。Nginx可以根据不同的正则匹配采取不同的转发策略,如图片文件结尾的走文件服务器,动态页面走web服务器。同时,Nginx可以对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,Nginx可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。
  2. 负载均衡:Nginx提供了负载均衡策略,包括内置策略和扩展策略。负载均衡能够将服务的请求分发给负责相应服务的服务器,当请求同一个服务的请求过多时,服务器可以承受,从而提高服务器的处理能力。

配置项详解:

  1. worker_processes:Nginx的工作进程数。建议设置为CPU核数。
  2. events { worker_connections }:每个worker进程的最大连接数。这个数字应大于1024。
  3. http { }:主要配置HTTP服务器的区域。
  4. server { }:定义一个虚拟服务器。
  5. location { }:定义URL匹配的规则和处理方式。常见的处理方式有proxy_pass(代理到后端服务器)、index(指定默认的index文件)、try_files(尝试按顺序查找文件或目录)。
  6. error_page:定义错误页面。例如,error_page 404 /404.html;会将404错误指向一个自定义的404.html页面。
  7. proxy_pass:指定后端代理服务器地址。例如,proxy_pass http://127.0.0.1:8080;会将所有请求转发到本地的8080端口。
  8. sendfiletcp_nopushtcp_nodelay:与socket的send操作有关的指令。
  9. keepalive_timeout:长连接的超时时间。
  10. fastcgi_pass:指定FastCGI服务器的地址。
  11. include /etc/nginx/conf.d/*.conf:包含其他配置文件。

二、nginx配置详解

这一部分可以作为公共配置,包含的   
  include /etc/nginx/conf.d/*.conf;

可以作为子配置文件引入

#配置用户或者组,默认为nobody
user  nginx;#允许生成的进程数,默认为1,一般配置为cpu核数
worker_processes  auto;
#错误日志
error_log  /var/log/nginx/error.log notice;#进程ID
pid        /var/run/nginx.pid;events {accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为onmulti_accept off;  #设置一个进程是否同时接受多个网络连接,默认为off# epoll 模型对事件处理进行优化use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport#允许最大连接数worker_connections  5120;
}#http块
http {# 相关安全漏洞响应头# 检测到目标 X-Content-Type-Options响应头缺失 这个暂时不开启,不然部分banner无法使用add_header X-Content-Type-Options nosniff;# 检测到目标 X-XSS-Protection响应头缺失add_header X-XSS-Protection "1; mode=block";# 检测到目标 Content-Security-Policy响应头缺失add_header Content-Security-Policy "default-src 'self' http: https://* data: blob: 'unsafe-eval' 'unsafe-inline';child-src 'none' " always;# 检测到目标 Referrer-Policy响应头缺失add_header Referrer-Policy "no-referrer-when-downgrade" always;# 检测到目标 X-Permitted-Cross-Domain-Policies响应头缺失add_header X-Permitted-Cross-Domain-Policies none;# 检测到目标 X-Download-Options响应头缺失add_header X-Download-Options noopen;# 检测到目标 Strict-Transport-Security响应头缺失add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";add_header X-Frame-Options "SAMEORIGIN";#隐藏nginx版本信息server_tokens off;#文件扩展名与文件类型映射表include       /etc/nginx/mime.types;#默认文件类型,默认为text/plaindefault_type  application/octet-stream;#日志格式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 if=$ignore_ua;sendfile        on;#tcp_nopush     on;#连接超时时间,默认为75s,可以在http,server,location块。keepalive_timeout  65;#gzip  on;client_max_body_size 1024m;#包含的自定义配置文件块include /etc/nginx/conf.d/*.conf;#是否传递4xx和5xx错误信息到客户端,或者允许nginx使用error_page处理错误信息。fastcgi_intercept_errors on;#Disable logging for ELB healthcheck. It creates lots of noise on logging platform##关闭健康检测日志的输出map $http_user_agent $ignore_ua {default                 1;"clb-healthcheck"       0;}}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/599456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业级实践为“燃料”,大模型助推Kyligence产品力向上

回顾2023年,最火热的科技话题无疑是生成式AI。 从ChatGPT横空出世,到“千模大战”如火如荼,AIGC正式破圈,成为企业数字化转型的新关键词。 在红杉中国《2023企业数字化年度指南》中,通过调研235家企业可知&#xff0…

VR与数字孪生:共同构筑未来的虚拟世界

随着科技的不断发展,数字孪生和VR已经成为当今热门的科技话题。作为山海鲸可视化软件的开发者,我们对这两者都有深入的了解。在此,我们将详细探讨数字孪生与VR的区别和联系。 首先,数字孪生(Digital Twin)…

光明源@智慧厕所技术:优化生活,提升卫生舒适度

在当今数字科技飞速发展的时代,我们的日常生活正在经历一场革命,而这场革命的其中一个前沿领域就是智慧厕所技术。这项技术不仅仅是对传统卫生间的一次升级,更是对我们生活品质的全方位提升。从智能感应到数据分析,从环保设计到舒…

外汇天眼:交易如何突破“知行合一”这关?

接触交易之后有无数次想要放弃交易,在交易中的失败实在是太痛苦了,有时候这种失败是打击的作为一个人的最根本的自信,这种失败让我质疑我自己“本就是个普通人,不要想太美的事情”“为什么学习这么多还是不能盈利,我真…

<六>Python的字符串切片及常见操作

字符串的表示 在Python里,可以使用一对单引号、一对双引号或者一对三个双引号、一对三个单引号表示字符串。 a "Im Tom" # 一对双引号 b Tom said:"I am Tom" # 一对单引号c Tom said:"I\m Tom" # 转义字符d Tom said:"…

行业模型与场景落地新样本,网易有道发布多款“子曰”教育大模型落地应用与产品

距离2023年7月正式发布教育大模型“子曰”不到半年时间,教育科技公司网易有道近日再次分享了“子曰”教育大模型创新和落地成果,宣布推出国内首个教育大模型“子曰”2.0版本,同时还发布了基于大模型研发的三大创新应用——AI家庭教师“小P老师…

第01章_C语言入门

第01章_C语言入门 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 适合对象 考研同学,且考试科目中包含数据结构等(需要使用C/C写代码)考研同学,考…

ChatGPT怎么帮我上班的

1.解放生产力 1)标准格式,完美输出。GPT对于公文等具有一定标准格式的文件,可以进行完美仿写,随随便便以假乱真那都是小菜一碟,这对于经常要开展规范成文的人来说,简直就是个福音,只要前期调教…

ruoyi-ai 基于ruoyi-plus实现AI聊天和绘画功能-后端

基于ruoyi-plus实现AI聊天和绘画功能-后端 本项目完全开源免费! 后台管理界面使用elementUI服务端使用Java17SpringBoot3.X ruoyi-ai: 基于ruoyi-plus实现AI聊天和绘画功能-后端 实现功能 集成OpenAi API (gpt-4-vision-preview dall-e-3)接入文生图模型&#xf…

如何快速定位php程序运行慢的地方

1 slow log日志 查看slowlog日志位置 编辑php-fpm.conf文件,更改或增加两行内容 slowlog /data/logs/php-slow.log request_slowlog_timeout 2 说明:slowlog定义日志路径和名字,request_slowlog_timeout定义超时时间,单位…

Django 7 实现Web便签

一、效果图 二、会用到的知识 目录结构与URL路由注册request与response对象模板基础与模板继承ORM查询后台管理 三、实现步骤 1. terminal 输入 django-admin startapp the_10回车 2. 注册, 在 tutorial子文件夹settings.py INSTALLED_APPS 中括号添加 "the…

JRTClient打开谷歌

网站默认已经启动https访问,这时候JRTClient发布wss需要浏览器信任证书才能访问打印。为此在JRTClient内部发布了HTTPS服务,有时候浏览器信任的证书会丢失或者被清理掉,这时候需要手工信任下,当然用JRTBrowser就不用信任证书&…

数据库设计——DQL

D Q L \huge{DQL} DQL ⭐⭐⭐⭐⭐ DQL:数据库查询语言,用来查询数据库中的记录,非常的重要,对于数据库的操作修改相对来讲还是较少部分,绝大多数操作都是数据查询。 整体的语法结构: 基本查询 示例&#…

FPGA项目(14)——基于FPGA的数字秒表设计

1.功能设计 设计内容及要求: 1.秒表最大计时范围为99分59. 99秒 2.6位数码管显示,分辨率为0.01秒 3.具有清零、启动计时、暂停及继续计时等功能 4.控制操作按键不超过二个。 2.设计思路 所采用的时钟为50M,先对时钟进行分频,得到100HZ频率…

编程基础 - 初识Linux

编程基础 - 初识Linux 返回序言及专栏目录 文章目录 编程基础 - 初识Linux前言一、Linux发展简介二、现代Linux三、Linux系统各发行版小结 前言 为什么要学习Linux呢?我这Windows用得好好的,简单易用傻瓜式、用的人还超多!但是我要告诉你的…

Transformer模型中前置Norm与后置Norm的区别

主要介绍原始Transformer和Vision Transformer中的Norm层不同位置的区别。 文章目录 前言 不同位置的作用 总结 前言 在讨论Transformer模型和Vision Transformer (ViT)模型中归一化层位置的不同,我们首先需要理解归一化层(Normalization)在…

阿里云大模型「让照片跳舞」刷屏朋友圈,有哪些信息值得关注?

介绍 大家好,我分享聊聊阿里通义千问APP中全民舞王功能。 网络热舞结合AI视频,这是以后不用学习跳舞? 可以尝试下效果,一张图片生成视频。 APP快速使用 搜索下载通义千问APP 打开APP,选中一张照片来跳舞。 这里…

了解webpack

1 概念 webpack是一个模块打包工具,他将各种不同类型的文件最终都打包成.js、.css、.png、.jpg4个类型的静态资源。 2 特点 模块化开发 用webpack之前,项目都是在html中引入一个个js文件来开发;而在webpack中,一切皆模块&#xf…

我的2023年总结:往前看,别回头

2023年已经结束,我借此机会回顾一下我的2023年,同时也为2024年立好flag。 文章目录 2023印象深刻的实战经历技术成长与规划技术分享与交流CSDN博客参加百度apollo技术讨论会 深入学习Redis源码多彩的生活张杰演唱会《漫长的季节》:往前看&am…

bat批处理文件_输出内容到文本

文章目录 1、echo str > test.txt(覆盖原有内容)2、echo str >> test.txt(不覆盖原有内容,追加) 1、echo str > test.txt(覆盖原有内容) 2、echo str >> test.txt&#xff0…