Nginx主配置文件---Nginx.conf

nginx主配置文件的模块介绍

全局块
全局块是配置文件从开始到 events 块之间的部分,其中指令的作用域是 Nginx 服务器全局。主要指令包括:

user:指定可以运行 Nginx 服务的用户和用户组,只能在全局块配置。例如:user nobody; 表示使用 nobody 用户运行 Nginx 服务。

worker_processes:指定工作线程数,可以设定具体的进程数,也可使用自动模式(如worker_processes auto; )。一般设为与 CPU 数量相同或 2 倍于 CPU 数量。
pid:指定进程 pid 文件存放的路径,例如:pid logs/nginx.pid;
error_log:指定错误日志的路径和日志级别。此指令可在全局块、http 块、server 块以及 location 块中配置。例如:error_log logs/error.log notice; 表示错误日志存放在logs/error.log,级别为 notice。

events 块
涉及的指令主要影响 Nginx 服务器与用户的网络连接,对服务器性能有较大影响,常用指令有:

accept_mutex:开启时,将对多个 Nginx 进程接收连接进行序列化,防止多个进程对连接的争抢。默认是开启状态,只能在 events 块中进行配置,例如:accept_mutex on;
multi_accept:如果被禁止(multi_accept off; ),Nginx 一个工作进程只能同时接受一个新连接;否则,一个工作进程可以同时接受所有新连接。若 Nginx 使用 kqueue 连接方法,此指令会被忽略。
use:指定使用哪种网络 I/O 模型,如use epoll; 。可选择的内容包括 select、poll、kqueue、epoll、rtsig、/dev/poll 以及 eventport 等,但一般操作系统并不支持所有模型。
worker_connections:设置允许每一个 worker 进程同时开启的最大连接数。例如:worker_connections 1024; 需注意,这个值不能超过系统支持打开的最大文件数和单个进程支持打开的最大文件数。

http 块
是 Nginx 配置中的重要部分,可包含自己的全局块、多个 server 块,而 server 块中又可进一步包含多个 location 块。http 全局块中可配置的指令包括:

include:用于包含其他的配置文件,例如:include mime.types;
default_type:设定默认文件类型,例如:default_type application/octet-stream;
sendfile:开启高效文件传输模式,例如:sendfile on;
keepalive_timeout:设置客户端连接保持活动的超时时间,例如:keepalive_timeout 65;
log_format:自定义日志格式。
access_log:配置 access_log 日志及存放路径,并可使用上面定义的日志格式。

在 server 块中,常用指令有:
listen:配置监听端口,例如:listen 80;
server_name:配置服务名,例如:server_name localhost;
location:用于匹配网页位置,可进行各种请求处理的配置,例如指定根目录、首页文件等。

在 location 块中,可以进一步细化对特定 URL 路径的处理规则。


worker_processes 1;

工作进程数,设置成服务器内核的2倍(一般不超过8个,超过8个反而会降低性能4个1-2个)

处理进程的过程必然涉及配置文件和展示页面,也就是涉及打开文件的数量

nginx默认打开文件数就是1024

vim /etc/security/limits.conf
进入编辑
soft bproc 65535
能打开的进程最大数的软限制是65535,65535是最大数
hard nproc 65535
soft nofile
进程打开文件数的最大值65535
hrad nofile 65535
能打开的进程最大数的硬限制是65535
这个配置要生效只能重启,这是系统初始化的一个环节。

面试题:

root和alias匹配工作之间的区别

root的匹配模式 拼接

root的工作目录,访问的是uri/102

location /xy102

/opt/test1

/opt/test1/xy102

alias也是指匹配nginx的根目录 路径是绝对路径

location /xy102

alias /opt/test1/xy102/;

alias 只能写在http模块当中的server模块的location模块里面

root可以写在server模块,也可以在http,也可以在location中

alias匹配工作目录,不能够使用重定向功能


总结

全局模块

work_processes 1; 指定进程数

events模块决定了能够处理的连接数

stream 四层代理模块

http模块

转发和处理http请求,设置代理(正向代理,反向代理),缓存,定义日志格式,重定向配置。

在http模块当中,包含:

server模块 http里面可以有多个server模块

在server模块当中包含:

location模块

在server模块当中可以有多个location模块


实验

统计访问状态

vim nginx.conf

location /status {

stub_status on;

打开状态统计的功能;

access_log off;

关闭status的访问日志

}

然后nginx -t 查看一下语法是否有误

没有问题就重启nginx

访问页面得出结果

Active connections:1

当前活动的连接数

server accepts handled requests

已经处理的连接数

36 36 36

三个数字从左往右:已经处理的连接次数,成功建立的连接次数 ,已经处理的请求数

Reading:0 writing:1 waiting:0

reading :标识服务端正在从客户端请求读取请求的数据

writing :表示服务端正在把响应数据发送给客户端

waiting:表示有连接处于空闲状态,等待新的请求


基于密码的授权进行访问控制

yum -y install httpd-tools httppasswd的工具,要先安装

htpasswd -c /usr/local/nginx/passwd.db bmm

创建一个文件

进入nginx主配置文件里面

重启


基于客户端的访问控制 ip地址来进行控制

添加一个控制规格

deny 192.168.124.10

allow all

20的主机不能访问

其他的主机可以访问。


基于域名的nginx主机

然后把ip地址和域名做一个映射

进入 /etc/hosts编辑

访问www.xy102.com就相当于访问192.168.124.10

多个域名的访问

进入nginx主配置文件中在后面添加一个server模块


基于ip地址的访问

先创建一个虚拟网卡

然后进入nginx主配置文件中更改监听ip地址

检测语法错误然后重启


基于端口实现多个虚拟主机

端口可以任意设置,但不能超过65535


多个配置文件

进入nginx主配置文件

在http模块中添加

然后创建一个conf.d这个目录,切换到这个目录中,编辑一个test1.conf

然后创建这个两个目录

往两个目录中index.html写入内容

查看这个目录连接的端口

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux基础指令介绍与详解——原理学习

前言:本节内容标题虽然为指令,但是并不只是讲指令, 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法, 很抱歉, 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的,…

Elasticsearch实战教程: 如何在海量级数据中进行快速搜索

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 Elasticsearch(简称ES)是一个基于Apache Lucene™的开源搜索引擎,无论在开源还是专有领…

【NLP学习笔记】load_dataset加载数据

除了常见的load_dataset(<hf上的dataset名>)这种方式加载HF上的所有数据外&#xff0c;还有其他custom的选项。 加载HF上部分数据 from datasets import load_dataset c4_subset load_dataset("allenai/c4", data_files"en/c4-train.0000*-of-01024.js…

不改代码,实现web.config或app.config的连接字符串加密解密

目的&#xff1a;加密字符串&#xff0c;防止明文显示。 好处&#xff1a;不用修改代码&#xff0c;微软自带功能&#xff0c;自动解密。 web.config 参考相关文章&#xff1a; Walkthrough: Encrypting Configuration Information Using Protected Configuration | Microso…

SQL执行慢排查以及优化思路

数据库服务器的优化步骤 当我们遇到数据库调优问题的时候&#xff0c;该如何思考呢&#xff1f;我把思考的流程整理成了下面这张图。 整个流程划分成了观察&#xff08;Show status&#xff09;和行动&#xff08;Action&#xff09;两个部分。字母 S 的部分代表观察&#xf…

小红书运营教程02

小红书大致会分享10篇左右。微博、抖音、以及视频剪辑等自媒体运营相关技能以及运营教程相关会陆续的进行分享。 上次分享涉及到的对比,母婴系列,或者可以说是服装类型,不需要自己过多的投入,对比知识类博主来说,自己将知识讲述出来,然后要以此账号进行变现就比较麻烦,…

SARscape——GAMMA滤波

目录 一、算法原理1、概述2、参考文献 二、软件操作三、结果展示1、原始图像2、滤波结果 一、算法原理 1、概述 GAMMA滤波器假定数据服从GAMMA 分布&#xff0c;被滤波器滤除的像元将被基于局部统计计算出的方差系数所代替。其数学模型为: F i j { M , C x < C u B M P 2…

gin框架 gin.Context中的Abort方法使用注意事项 - gin框架中立刻中断当前请求的方法

gin框架上下文中的Abort序列方法&#xff08;Abort&#xff0c;AbortWithStatus&#xff0c; AbortWithStatusJSON&#xff0c;AbortWithError&#xff09;他们都不会立刻终止当前的请求&#xff0c;在中间件中调用Abort方法后中间件中的后续的代码会被继续执行&#xff0c;但是…

电子价签能够给零售业带来哪些效益?

在竞争激烈的零售市场中&#xff0c;每一个细微的优化都可能成为吸引顾客和提升效率的关键。随着技术的不断进步&#xff0c;电子价签作为一种革新性的解决方案&#xff0c;正以其独特的优势重新定义零售运营的标准。那它到底能给我们的零售门店带来哪些实际效益&#xff1f; …

Qt时间日期处理与定时器使用总结

一、日期时间数据 1.QTime 用于存储和操作时间数据的类&#xff0c;其中包括小时(h)、分钟(m)、秒(s)、毫秒(ms)。函数定义如下&#xff1a; //注&#xff1a;秒(s)和毫秒(ms)有默认值0 QTime::QTime(int h, int m, int s 0, int ms 0) 若无须初始化时间数据&#xff0c;可…

基于FPGA的DDS信号发生器

前言 此处仅为基于Vivado实现DDS信号发生器的仿真实现&#xff0c;Vivado的安装请看下面的文章&#xff0c;这里我只是安装了一个标准版本&#xff0c;只要能够仿真波形即可。 FPGA开发Vivado安装教程_vivado安装 csdn-CSDN博客 DDS原理 DDS技术是一种通过数字计算生成波形…

Linux shell编程学习笔记61: pstree 命令——显示进程树

0 前言 在 Linux shell编程学习笔记59&#xff1a; ps 获取系统进程信息&#xff0c;类似于Windows系统中的tasklist 命令https://blog.csdn.net/Purpleendurer/article/details/139696466?spm1001.2014.3001.5501 中我们研究了ps命令。在Linux中&#xff0c;通过ps命令&am…

Perl语言入门指南

一、绪论 1.1 Perl语言概述 1.2 Perl的特色 1.3 Perl面临的问题 1.4 Perl语言的应用领域 二、Perl语言基础 2.1 Perl语言的历史发展 2.2 Perl语言的基本语法 2.3 Perl语言的数据类型 三、Perl语言控制结构 3.1 条件语句 3.2 循环结构 3.3 函数和子程序 四、Perl语…

RK3568驱动指南|第十五篇 I2C-第183章 SMBus总线介绍

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

电脑版微信自动发送微信消息给好友或者群聊

一.软件下载 点击微信自动发送消息下载 二.相关使用方法 1.打开软件&#xff0c;输入想自动发送的内容 2.确保登录了微信电脑版【PC端】&#xff0c;然后切换到想要自动发送的好友或群聊的窗口。 3.点击开始&#xff0c;现在自动发送即可&#xff0c;稍等三秒程序自动运行。 …

小程序开发平台版源码系统——万能门店小程序功能 前后端分离 带完整的安装代码包以及搭建教程

系统概述 在移动互联网的浪潮中&#xff0c;小程序以其轻量、便捷、无需下载即可使用的特点&#xff0c;迅速成为连接用户与商家的新桥梁。为了满足广大商家快速搭建个性化、高效运营的小程序需求&#xff0c;我们精心打造了“小程序开发平台版源码系统——万能门店小程序功能…

秋招——MySQL补充——MySQL是如何加行级锁

文章目录 引言正文什么SQL语句会加行级锁查询操作增加对应的行级锁事务的写法 update和delete修改操作也会增加行级锁 行级锁有哪些种类记录锁间隙锁Next-Key锁 MySQL是如何加行级锁&#xff1f;唯一索引等值查询查询记录是存在的查询记录是不存在的 唯一索引范围查找针对大于或…

【python脚本】批量检测sql延时注入

文章目录 前言批量检测sql延时注入工作原理脚本演示 前言 SQL延时注入是一种在Web应用程序中利用SQL注入漏洞的技术&#xff0c;当传统的基于错误信息或数据回显的注入方法不可行时&#xff0c;例如当Web应用进行了安全配置&#xff0c;不显示任何错误信息或敏感数据时&#x…

Element中的消息提示组件Message和弹框组件MessageBox

简述&#xff1a;在 Element UI 中&#xff0c;Message和MessageBox都是比较常用的组件&#xff0c;Message用来提示消息&#xff0c;而MessageBox是一个用于创建模态对话框的组件。它可以用于在页面上快速展示信息、警告或错误提示&#xff0c;而不会阻止用户的其他操作。简单…

Pandas_DataFrame读写详解:案例解析(第24天)

系列文章目录 一、 读写文件数据 二、df查询数据操作 三、df增加列操作 四、df删除行列操作 五、df数据去重操作 六、df数据修改操作 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、 读写文…