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写入内容
查看这个目录连接的端口
相关文章:

Nginx主配置文件---Nginx.conf
nginx主配置文件的模块介绍 全局块: 全局块是配置文件从开始到 events 块之间的部分,其中指令的作用域是 Nginx 服务器全局。主要指令包括: user:指定可以运行 Nginx 服务的用户和用户组,只能在全局块配置。例如&…...
IOS Swift 从入门到精通:写入 Firestore数据库
文章目录 FirestoreManager 类创建文档更新文档更新 Firestore 权限规则现在,我们想要在 Firestore 中添加或更新文档。如果您还没有,我建议您阅读有关设置 Firebase Auth 和从 Firestore 读取的部分。您必须在应用程序中启用 Firebase,并在项目中启用 Firestore 数据库,才…...

维克日记 v0.4.2:开发者友好的数字化笔记工具
维克日记,专为技术开发者和笔记爱好者设计的数字化笔记工具,以其强大的功能和灵活的配置赢得了用户的好评。软件采用Markdown语法,提供实时预览功能,让您的笔记编辑更加高效和直观。维克日记的用户界面简洁而功能齐全,…...

语音房平台交友,语聊APP系统开发线上语音交友平台成熟案例源码出售
随着移动互联网的快速发展,人们对于社交方式的需求也在不断变化,语音房平台交友语助APP作为一种新兴的社交方式,以其独特的语音交流模式和实时互动的特点,受到了越来越多用户的喜爱本文将详细介绍语音房平台交友语聊APP系统的开发…...

VMamba: Visual State Space Model论文笔记
文章目录 VMamba: Visual State Space Model摘要引言相关工作Preliminaries方法网络结构2D-Selective-Scan for Vision Data(SS2D) VMamba: Visual State Space Model 论文地址: https://arxiv.org/abs/2401.10166 代码地址: https://github.com/MzeroMiko/VMamba 摘要 卷积神…...

探索哈希函数:数据完整性的守护者
引言 银行在处理数以百万计的交易时,如何确保每一笔交易都没有出错?快递公司如何跟踪成千上万的包裹,确保每个包裹在运输过程中没有丢失或被替换?医院和诊所为庞大的患者提供有效的医疗保健服务,如何确保每个患者的医疗…...
解析Kotlin中的Unit【笔记摘要】
1. Kotlin的Unit 和 Java的void 的区别 // Java public void sayHello() {System.out.println("Hello!") }// Kotlin fun sayHello(): Unit {println("Hello!") }Unit 和 Java 的 void 真正的区别在于,void 是真的表示什么都不返回,…...

仿论坛项目--初识Spring Boot
1. 技术准备 技术架构 • Spring Boot • Spring、Spring MVC、MyBatis • Redis、Kafka、Elasticsearch • Spring Security、Spring Actuator 开发环境 • 构建工具:Apache Maven • 集成开发工具:IntelliJ IDEA • 数据库:MySQL、Redi…...

Spring boot 更改启动LOGO
在resources目录下创建banner.txt文件,然后编辑对应的图案即可 注释工具 Spring Boot Version: ${spring-boot.version},-.___,---.__ /|\ __,---,___,- \ -.____,- | -.____,- // -., | ~\ /~ | …...
python变成几个小程序
专家系统 需要建立‘capital_data.txt’ 空文件 from tkinter import Tk, simpledialog, messageboxdef read_from_file():with open(capital_data.txt) as file:for line in file:line line.rstrip(\n)country, city line.split(/)the_world[country] citydef write_to_fi…...
nginx配置stream代理
项目中遇到某些服务在内网,需要外网访问的情况,需要配置代理访问。可用nginx搭建代理服务。 TCP代理 通过nginx的stream模块可以直接代理TCP服务,步骤如下: 在/etc/nginx/下新建proxy文件夹,用于存放代理配置。此处…...

【瑞吉外卖 | day01】项目介绍+后台登录退出功能
文章目录 瑞吉外卖 — day011. 所需知识2. 软件开发整体介绍2.1 软件开发流程2.2 角色分工2.3 软件环境 3. 瑞吉外卖项目介绍3.1 项目介绍3.2 产品原型展示3.3 技术选型3.4 功能架构3.5 角色 4. 开发环境搭建4.1 数据库环境搭建4.2 Maven项目构建 5. 后台系统登录功能5.1 创建需…...

关于批量采集1688商品主图及链接的方式:软件采集/1688官方API接口数据采集
关于批量采集,我们通常用到的是软件 采集,或者通过1688官方API数据采集的形式:用户输入一组1688商品ID,一行一个,流程会自动逐个打开对应的1688商品详情页,采集主图的所有链接。 结果保存为表格的一行&…...
Shell 获取Hive表的location 信息
用shell 获取建表语句: hive -e "show create table ods_job.ods_job_tb"得到结果: CREATE TABLE ods_job.ods_job_tb(id bigint COMMENT id, auto int COMMENT job开启/关闭:0-关闭;1-开启, ....timeout_kill string…...
从零搭建教育管理系统:Java + Vue.js 教学-02
第三步:创建实体类和 Mapper 接口 现在我们已经设计好了数据库表,接下来使用 MyBatis-Plus 将这些表映射到 Java 对象,以便在代码中轻松地进行操作。 1. 创建实体类 在 src/main/java/<your_package>/entity 目录下 (如果没有该目录,请手动创建),创建与数据库表对应…...

VSCode + GDB + J-Link 单片机程序调试实践
VSCode GDB J-Link 单片机程序调试实践 本文介绍如何创建VSCode的调试配置,如何控制调试过程,如何查看修改各种变量。 安装调试插件 在 VSCode 扩展窗口搜索安装 Cortex-Debug插件 创建调试配置 在 Run and Debug 窗口点击 create a launch.json …...

grpc学习golang版( 五、多proto文件示例 )
系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件2.1 公共proto文件2.2 语音唤醒proto文…...
LeetCode 106 从中序与后序遍历序列构造二叉树
根据中序遍历和后序遍历的性质,还原二叉树,详细见注释 TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {//空,直接返回nullif(inorder.size() 0) return nullptr;//一个,返回一个nod…...
Vue Router的深度解析
引言 在现代Web应用开发中,客户端路由已成为实现流畅用户体验的关键技术。与传统的服务器端路由不同,客户端路由通过JavaScript在浏览器中控制页面内容的更新,避免了页面的全量刷新。Vue Router作为Vue.js官方的路由解决方案,以其…...

YOLO-V2
一、V2版本细节升级 1、YOLO-V2: 更快!更强 1.1 做的改进内容 1. YOLO-V2-Batch Normalization V2版本舍弃Dropout,卷积后每一层全部加入Batch Normalization网络的每一层的输入都做了归一化,收敛相对更容易经过Batch Norma…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...