nginx 以及nginx优化

目录

nginx功能介绍

静态文件服务

反向代理

动态内容处理

SSL/TLS 加密支持

虚拟主机支持

URL 重写和重定向

缓存机制

日志记录

可扩展性和灵活性

nginx的主要应用场景

nginx常用命令

nginx另外一种安装方式

nginx常用的信号符:

nginx配置文件详解


nginx功能介绍

Nginx 是一款高性能的开源 Web 服务器和反向代理服务器,它具有以下主要功能:

静态文件服务

Nginx 可以直接提供静态文件的服务,例如 HTML、CSS、JavaScript、图像等。
它能够高效地处理并响应静态文件的请求。

反向代理

Nginx 可以作为反向代理服务器,将客户端的请求转发给后端的多个服务器。
它可以实现负载均衡、高可用性和故障转移,提供更好的性能和可靠性。

动态内容处理

Nginx可以与后端应用服务器(如 PHP-FPM、Node.js、Java 应用服务器等)配合使用,
实现动态内容的处理和执行。它可以代理动态请求,并将请求的结果返回给客户端。
 

SSL/TLS 加密支持

Nginx 支持通过 SSL/TLS 对客户端和服务器之间的通信进行加密,
提供安全的 HTTPS 连接。

虚拟主机支持

Nginx 支持配置多个虚拟主机,使得可以在同一台服务器上托管多个域名或站点。
每个虚拟主机可以拥有独立的配置和资源。

URL 重写和重定向

Nginx 支持灵活的 URL 重写和重定向规则,可以对请求的 URL 进行修改和重定向,
实现 URL 的美化和重定向策略。

缓存机制

Nginx 提供了强大的缓存功能,可以缓存静态文件和动态内容,
以减轻后端服务器的负载并提供更快的响应速度。

日志记录

Nginx 能够记录访问日志和错误日志,可以记录请求的详细信息,包括访问时间、请求路径、
IP、响应状态等,帮助进行故障排查和性能分析。

可扩展性和灵活性

Nginx 的模块化架构和强大的配置选项使得它具有很高的可扩展性和灵活性。
你可以通过加载不同的模块和自定义配置来满足特定的需求。

nginx的主要应用场景

1、静态服务

2、反向代理,负载均衡

3、缓存服务

4、动态服务

nginx常用命令

nginx -t:检查配置文件是否配置正确

nginx -v:查看nginx的版本号

nginx -s:向主进程传输信号(停止、开启、重启、重新加载)

nginx -c:设置配置文件的默认路径

nginx另外一种安装方式

epel源

yum install -y epel-release

yum install nginx -y

nginx常用的信号符:

信号符结合kill命令

kill -USR 1 pid号 #日志分割

kill -s HUP pid号 #只要是kill,只能跟pid号,重新加载

killall -s HUP nginx #用killall可以跟服务名,也可以用pid号

kill -s QUIT pid号 #优雅退出,有人访问时,不会结束进程,访问完了,才会结束进程

kill -s WINCH pid号 #优雅的结束worker,直到请求完成,才会结束worker进程
 

nginx配置文件详解

 

work_processes 1; #工作进程也就是worker进程的数量,一般是配置成cpu数一致或者2倍。一般来说小网站设置成1,足够了。

 

events块配置影响nginx服务器与用户之间的网络连接

worker_connections 1024; #每个进程可以处理的最大连接数 //ulimit -a 可以查看连接数限制

修改linux服务器文件的最大打开数量:ulimit -n 65535 (linux只支持打开65535) //临时修改

 

http模块主要是针对http请求的配置,代理、缓存、日志,反向代理,虚拟web主机,server块。

非http请求的方式,不能写在该模块当中。反向代理:七层,四层(不能配置在http模块中)

keepalive_timeout 65; #65秒

gzip on #打开压缩模块


 

 

server模块可以配置虚拟主机的相关参数,一个http模块当中,可以有多个server模块,一个server模块对应一个虚拟主机

server {

listen 80;

server_name office.dmsd.tech;

root /nginx/www;

index index.php index.html index.html;

charset utf-8;

access_log logs/access.log;

error_log logs/error.log;

}
 

 

location模块匹配的是URI

location / #通用匹配

location = #精确匹配

location模块中

root 拼接,root指定的目录和location匹配的uri之间做的一个拼接,/opt/ky30 这两个路径都要真实存在,而且都是目录,并且,在uri目录里面要有web文件。

alias:匹配指定路径下的web文件

root后面有没有/无所谓 root /opt/

alias加了/,后面也必须有/,否则,匹配不到 alias /opt

 

root标签可以使用重定向

alias不可以设置重定向

proxy_pass #反向代理配置,也是写在location模块当中

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

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

相关文章

Nginx复现

docker复现Nginx配置漏洞 2.1CRLF(carriage return/line feed)注入漏洞 这个漏洞产生的原因是请求重定向的错误配置,导致在url中输入回车换行符可以控制http响应头部 比如:location / { return 302 https://$host$uri; } 原本的目的是为了让http的…

【JavaEE基础学习打卡02】是时候了解JavaEE了

目录 前言一、为什么要学习JavaEE二、JavaEE规范介绍1.什么是规范?2.什么是JavaEE规范?3.JavaEE版本 三、JavaEE应用程序模型1.模型前置说明2.模型具体说明 总结 前言 📜 本系列教程适用于JavaWeb初学者、爱好者,小白白。我们的天…

c#在设计时调试自定义 Windows 窗体控件

private string demoStringValue null; [Browsable(true)] public string DemoString {get{return this.demoStringValue;}set{demoStringValue value;} } 参考链接 在设计时调试自定义控件 - Windows Forms .NET Framework | Microsoft Learnhttps://learn.microsoft.com/z…

生信豆芽菜——配对型的复杂箱线图使用说明

网站:http://www.sxdyc.com/visualsBoxHalfPlot 一、配对型的复杂箱线图简介 配对型的复杂箱线图原理与箱线图相同,常见于配对样本的数据分析中,在日常研究中,我们会碰到配对资料,例如同一病人治疗前后的变化&#xff…

数据结构: 线性表(带头双向循环链表实现)

之前一章学习了单链表的相关操作, 但是单链表的限制却很多, 比如不能倒序扫描链表, 解决方法是在数据结构上附加一个域, 使它包含指向前一个单元的指针即可. 那么怎么定义数据结构呢? 首先我们先了解以下链表的分类 1. 链表的分类 链表的结构非常多样, 以下情况组合起来就有…

LVS集群

目录 1、lvs简介: 2、lvs架构图: 3、 lvs的工作模式: 1) VS/NAT: 即(Virtual Server via Network Address Translation) 2)VS/TUN :即(Virtual Server v…

7.2 手撕VGG11模型 使用Fashion_mnist数据训练VGG

VGG首先引入块的思想将模型通用模板化 VGG模型的特点 与AlexNet,LeNet一样,VGG网络可以分为两部分,第一部分主要由卷积层和汇聚层组成,第二部分由全连接层组成。 VGG有5个卷积块,前两个块包含一个卷积层&#xff0c…

MySQL_SQL性能分析

SQL执行频次 语法: SHOW GLOBAL STATUS LIKE COM_类型; COM_insert; 插入次数 com_delete; 删除次数 com_update; 更新次数 com_select; 查询次数 com_______; 注意:通过语法,可以查询到数据库的实际状态,就可以知道数据库是以增删…

TDesign中后台管理系统-用户登录

目录 1 创建用户表2 开发后端接口3 测试接口4 修改登录页面调用后端接口最终效果总结 中后台系统第一个要实现的功能就是登录了,我们通常的逻辑是让用户在登录页面输入用户名和密码,调用后端接口去验证用户的合法性,然后根据接口返回的结果进…

【T3】金蝶kis凭证数据转换到畅捷通T3软件中。

【问题需求】 将金蝶软件中的账套转换到畅捷通T3软件中。 由于金蝶老版本使用的是非sql server数据库。 进而需要将其数据导入到sql中,在转换到T3。 【转换环境】 金蝶中数据:凭证;科目无项目核算。 1、金蝶的数据文件后缀为.AIS; 2、安装office2003全版软件; 3、安装sq…

【算法】双指针——leetcode盛最多水的容器、剑指Offer57和为s的两个数字

盛水最多的容器 (1)暴力解法 算法思路:我们枚举出所有的容器大小,取最大值即可。 容器容积的计算方式: 设两指针 i , j ,分别指向水槽板的最左端以及最右端,此时容器的宽度为 j - i 。由于容器…

【CDH集群】无法发出查询:Host Monitor未运行

无法发出查询:Host Monitor未运行 【CDH集群】无法发出查询:Host Monitor未运行同事的解决方案解决方法:删除原uuid重启agent查看新uuid修改scm数据库中HOSTS表中的agent的uuid 【CDH集群】无法发出查询:Host Monitor未运行 起初是impala报错,连接不上&…

使用 React Native CLI 创建项目

React Native 安装的先决条件和设置 需要掌握的知识点 掌握 JavaScript 基础知识掌握 React 相关基础知识掌握 TypeScript 相关基础知识 安装软件前需要首先安装Chocolatey。Chocolatey 是一种流行的 Windows 包管理器。 安装 nodejs 和 JDK choco install -y nodejs-lts …

【工作记录】mysql中实现分组统计的三种方式

前言 实际工作中对范围分组统计的需求还是相对普遍的,本文记录下在mysql中通过函数和sql完成分组统计的实现过程。 数据及期望 比如我们获取到了豆瓣电影top250,现在想知道各个分数段的电影总数. 表数据如下: 期望结果: 实现方案 主要思路是根据s…

解决Vue+Element-UI 进行From表单校验时出现了英文提示问题

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 问题描述 在使用form表单时,往往会对表单字段进行校验,字段为必填项时会添加required属性,此时自定义rules规则…

RabbitMQ 消息队列

文章目录 🍰有几个原因可以解释为什么要选择 RabbitMQ:🥩mq之间的对比🌽RabbitMQ vs Apache Kafka🌽RabbitMQ vs ActiveMQ🌽RabbitMQ vs RocketMQ🌽RabbitMQ vs Redis 🥩linux docke…

MyBatis Plus-个人笔记

前言 学习视频 尚硅谷-Mybatis-Plus教程学习主要内容 本文章记录尚硅谷-Mybatis-Plus教程内容,只是作为自己学习笔记,如有侵扰请联系删除 一、MyBatis-Plus简介 1、简介 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具&#…

用python来爬取某鱼的商品信息(1/2)

目录 前言 第一大难题——找到网站入口 曲线救国 模拟搜索 第二大难题——登录 提一嘴 登录cookie获取 第一种 第二种 第四大难题——无法使用导出的cookie 原因 解决办法 最后 出现小问题 总结 前言 本章讲理论,后面一节讲代码 拿来练练手的&#xff…

使用 Python 中的 Langchain 从零到高级快速进行工程

大型语言模型 (LLM) 的一个重要方面是这些模型用于学习的参数数量。模型拥有的参数越多,它就能更好地理解单词和短语之间的关系。这意味着具有数十亿个参数的模型有能力生成各种创造性的文本格式,并以信息丰富的方式回答开放式和挑战性的问题。 ChatGPT 等法学硕士利用 T

【Spring专题】Spring底层核心原理解析

目录 前言阅读导航前置知识Q1:你能描述一下JVM对象创建过程吗?Q2:Spring的特性是什么?前置知识总结 课程内容一、Spring容器的启动二、一般流程推测2.1 扫描2.2 IOC2.3 AOP 2.4 小结三、【扫描】过程简单推测四、【IOC】过程简单推…