nginx正向代理、反向代理、负载均衡

nginx.conf nginx首要处理静态页面 反向代理 动态请求

全局模块 work processes 1; 设置成服务器内核数的两倍(一般不不超过8个超过8个反而会降低性能一般4个 1-2个也可以)

netstat -antp | grep 80 查端口号

*1、events块:*

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

一般设置并发15000-20000个

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

linux默认打开的文件数就是1024

vim /etc/security/limits.conf (最大文件数) vim nginx.conf

*soft nproc 65535 最大进程数的软限制

*hard nproc 66635 最大进程数的硬限制

*soft nofile 65535最大打开文件数的软限制

*hard nofile 65535 最大打开文件数的硬限制

http

在这里插入图片描述

在这里插入图片描述

默认不支持jsp.js.php

在这里插入图片描述

默认的日志格式记录了access.log 访问日志的格式,error.log也是一样的格式

在这里插入图片描述

存放路径

在这里插入图片描述

属于http
在这里插入图片描述

location网页匹配的工作目录的地址和支持打开页面的文件类型

在这里插入图片描述

tail -f /usr/local/nginx/logs/error.log
在这里插入图片描述

root和alias之间匹配区别

*root指定访问页面的根目录是拼接*

*alias指定的是完整目录绝对路径*

root的匹配模式 拼接

root的工作目录,访问的uri /xy102

location /xy102

/opt/test1/

/opt/test1/xy102/

alias匹配nginx的工作目录,路径是绝对路径

location /xy102

alias /opt/test1/xy102/;

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

root可以写server模块也可以在http 也可以在locatiion

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

全局模块

work_processes 1;指定进程数

envents模块决定了能够处理的来年结束

stream 四层代理模块

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

在http模块中包含

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

在server模块当中包含:

location模块

在server当中可以又多个location

统计访问状态

在这里插入图片描述

active connections 当前活动的连接数

server accepts handled reouests 表示已经处理的连接数

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

Reading:0 Writing: 1 Waiting :0

reading 表示服务端正在从客户端读取请求的数据

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

waitting 表示有链接处于空闲时刻 等待请求

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

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

htpasswd -c /usr/local/nginx/passwd.db zj
chown nginx passwd.db
chmod 400 passwd.db #权限只能是400

在这里插入图片描述

基于客户端的访问控制 IP地址来进行控制
在这里插入图片描述

403 forbidden 0/24整个网段

在这里插入图片描述

基于域名的nginx主机
在这里插入图片描述

mkdir -p /var/www/html/xy102

在这里插入图片描述

基于ip地址的虚拟主机

在这里插入图片描述

多个网卡

多个配置文件**

******nginx优化与防盗链

1.隐藏版本号

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

server_tokens off; 关闭版本号

设置页面的缓存时间 主要针对动态页面,图片的缓存

html默认工作目录

修改用户与组

#设置图片的缓存时间

expires 1d; 一天

2.日志分割**+日志清理****

nginx没有自带的日志分割功能,靠我们运维人员通过脚本实现日志分割。

apache是 自带日志分割的按天来进行收集日志

#获取日期 d=$(date +%Y-%m-%d)

access.log

error-2024.07-03.log

nginx没有自动分割的功能,脚本来实现日志分割

#日志清理 日志清理原则:业务日志一般保留30天。数据库日志,保留2年。用户信息加密,而且要永久保存。高可用。

date-d "-1 day" "+%Y%m%d" 分割前一天的

在这里插入图片描述

更改进程数设置cpu绑定

worker_connections 一般15000-20000

两个相乘就是最大并发数

*别忘了修改limits.conf。否则不生效。*

3.连接超时 配置页面压缩

在这里插入图片描述

gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;
支持压缩的类型

回收TIME_WAIT:

time_wait是tcp链接当中的一种状态出现在四次挥手之后

处于等待状态 双方不再发送数据

time_wait所占用的系统资源很小,数量比较少,完全可以忽略不计

但是太多了就有一定的影响

连接断开(四次挥手)之后,尽快的把time_wait状态的连接进行回收

统计当前系统的连接状态

vim /etc/sysctl.conf

net.ipve.tcp_syncookies=1

防止tcp的半连接队列溢出 可以达到服务端在接收到tcp的syn(同步)的请求时能够快速响应

net.ipv4.tcp_tw_reuse=1

允许复用time_wait状态的连接 新的连接可以直接使用time_wait状态的端口 可以提高连接的重用率

net.ipv4.tcp_tw_recycle=1 (新版本已被淘汰)

这个是老版本的配置 时间戳戳记也可以进行来连接复用

net.ipv4.tcp_fin_timeout=30

控制time_wait状态的时间 持续30秒 不是立即把time_wait连接收回 而是尽可能的把time_wait状态进行回收

nginx优化(重要)

隐藏版本号

日志分割

cpu绑定

连接超时

页面压缩

页面缓存时间

time_wait状态的回收

防盗链

vim nginx.conf

lnmp+DISCUZ

论坛的一个服务

l linux 操作系统

n nginx 前端页面的web服务

mysql 数据库 保存用户和密码 以及论坛的相关内容

php 动态强求转发的中间件

态进行回收

nginx优化(重要)

隐藏版本号

日志分割

cpu绑定

连接超时

页面压缩

页面缓存时间

time_wait状态的回收

防盗链

vim nginx.conf

[外链图片转存中…(img-Ey3svsBO-1720579650496)]

lnmp+DISCUZ

论坛的一个服务

l linux 操作系统

n nginx 前端页面的web服务

mysql 数据库 保存用户和密码 以及论坛的相关内容

php 动态强求转发的中间件

在这里插入图片描述

my.cnf是mysql的主配置文件

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

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

相关文章

微软Win11 24H2七月更新补丁KB5040435发布!附下载

系统之家于7月10日发出最新报道,微软为Win11用户发布了24H2版本七月的最新更新补丁KB5040435。用户升级系统后,会发现版本号升至 26100.1150。此次更新针对远程身份验证拨入用户服务(RADIUS)协议与 MD5冲突等问题进行修复。接下来跟随小编看看此次更新的…

利用【Python】【线性规划】优化工厂生产:实现智能资源配置与利润最大化的现代解决方案

目录 1. 问题背景和描述 1.1 问题背景 1.2 问题描述 2. 数学模型的建立 2.1决策变量 2.2 目标函数 2.3 约束条件 2.4 数学模型总结 3. 使用Python解决线性规划问题 3.1 导入必要的库 3.2 定义目标函数系数 3.3 定义不等式约束矩阵和向量 3.4 定义变量的边界 非负…

【Pytorch】RNN for Image Classification

文章目录 1 RNN 的定义2 RNN 输入 input, h_03 RNN 输出 output, h_n4 多层5 小试牛刀 学习参考来自 pytorch中nn.RNN()总结RNN for Image Classification(RNN图片分类–MNIST数据集)pytorch使用-nn.RNN 1 RNN 的定义 nn.RNN(input_size, hidden_size, num_layers1, nonlinea…

游戏视频是后期配音好还是边录边配 游戏视频怎么剪辑制作才能火 视频剪辑免费软件

游戏视频后期配音是先配还是先剪?游戏视频后期配音没有统一的准则,可以先配,也可以后配,主要是根据内容而定。游戏视频剪辑在游戏玩家中十分流行,那么,游戏视频怎么剪辑制作?下面让我们以具体的…

apache python使用

修改httpd.conf文件。 AddHandler cgi-script .cgi .py 代码 #!自己的python.exe #-*- coding:UTF-8 -*- print ("Content-type:text/html") print () print (<html>) print (<head>) print (<meta charset"gb2312">) print (<tit…

现在国内的ddos攻击趋势怎么样?想了解现在ddos的情况该去哪看?

目前&#xff0c;国内的DDoS攻击趋势显示出以下几个特征&#xff1a; 攻击频次显著增加&#xff1a;根据《快快网络2024年DDoS攻击趋势白皮书》&#xff0c;2023年DDoS攻击活动有显著攀升&#xff0c;总攻击次数达到1246.61万次&#xff0c;比前一年增长了18.1%。 攻击强度和规…

Spring Expression表达式使用

Spring Expression 简介 Spring Expression Language&#xff08;简称 “SpEL”&#xff09;是一种功能强大的表达式语言&#xff0c;支持在运行时查询和操作对象图。其中最显著的是&#xff1a;方法调用和基本的字符串模板功能。 虽然SpEL是Spring产品组合中表达式评估的基础…

树莓派pico入坑笔记,ssd1306使用

目录 说明 后附进阶玩法&#xff1a;显示中文&#xff0c;外加简单库实现 官方模块使用 使用样例 方法说明 下面是绘图支持的方法 进阶玩法&#xff0c;显示中文 方法&#xff0c;对汉字取字模&#xff0c;然后按像素对字模进行显示 说明 circuitpython8.x使用iic接口驱…

链表 OJ(一)

移除链表元素 题目连接&#xff1a; https://leetcode.cn/problems/remove-linked-list-elements/description/ 使用双指针法&#xff0c;开始时&#xff0c;一个指针指向头节点&#xff0c;另一个指针指向头节点的下一个结点&#xff0c;然后开始遍历链表删除结点。 这里要注…

YOLOv10改进 | Conv篇 | CVPR2024最新DynamicConv替换下采样(解决低FLOPs陷阱)

一、本文介绍 本文给大家带来的改进机制是CVPR2024的最新改进机制DynamicConv其是CVPR2024的最新改进机制&#xff0c;这个论文中介绍了一个名为ParameterNet的新型设计原则&#xff0c;它旨在在大规模视觉预训练模型中增加参数数量&#xff0c;同时尽量不增加浮点运算&#x…

YOLOv10改进 | Conv篇 | 全新的SOATA轻量化下采样操作ADown(参数量下降百分之二十,附手撕结构图)

一、本文介绍 本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的ADown模块来改进我们的Conv模块&#xff0c;其中YOLOv9针对于这个模块并没有介绍&#xff0c;只是在其项目文件中用到了&#xff0c;我将其整理出来用于我们的YOLOv10的项目&#xff0c;经…

Python 视频的色彩转换

这篇教学会介绍使用OpenCV 的cvtcolor() 方法&#xff0c;将视频的色彩模型从RGB 转换为灰阶、HLS、HSV...等。 因为程式中的OpenCV 会需要使用镜头或GPU&#xff0c;所以请使用本机环境( 参考&#xff1a;使用Python 虚拟环境) 或使用Anaconda Jupyter 进行实作( 参考&#x…

【TAROT学习日记】韦特体系塔罗牌学习(1)——愚者 THE FOOL 0

韦特体系塔罗牌学习&#xff08;1&#xff09;——愚者 THE FOOL 0 https://www.tarotchina.net/major-arcana0-vip/ 目录 韦特体系塔罗牌学习&#xff08;1&#xff09;——愚者 THE FOOL 0牌面分析1. 基础信息2. 图片元素 正位牌意1. 关键词/句2.爱情婚姻3. 学业事业4. 人际关…

android13 rom frameworks 蓝牙自动接收文件

总纲 android13 rom 开发总纲说明 目录 1.前言 2.源码查找 3.我们先实现第一种改法 4.实现第二种改法 5.第三种改法代码参考 6.编译测试 1.前言 我们从导航栏这里,点开这个蓝牙的接收框,弹出来的对话框,使用android studio 的layout inspector可以发现这个是 Bluetoo…

有必要找第三方软件测评公司吗?如何选择靠谱软件测评机构?

软件测试是确保软件质量的重要环节&#xff0c;而在进行软件测试时&#xff0c;是否有必要找第三方软件测评公司呢?第三方软件测评公司是指独立于软件开发公司和用户之间的中立机构&#xff0c;专门从事软件测试和测评工作。与自身开发团队或内部测试团队相比&#xff0c;选择…

大白话讲解AI大模型

大白话讲解大模型 大模型的发展重要大模型发展时间线 大模型的简单原理-训练⼤模型是如何训练并应⽤到场景中的&#xff1f;如果训练私有化模型 模型&#xff1a;model 语料库&#xff1a;用于训练模型的数据 大模型的发展 详细信息来源&#xff1a;DataLearner 2022年11月底…

JVM相关知识点汇总

JDK,JRE以及JVM的关系 我们的编译器到底干了什么事? 仅仅是将我们的 .java 文件转换成了 .class 文件,实际上就是文件格式的转换,对等信息转换。 类加载机制是什么? > **所谓类加载机制就是** > ``` > 虚拟机把Class文件加载到内存 > 并对数据进行校验,转换…

web安全及内网安全知识

本文来源无问社区&#xff08;wwlib.cn&#xff09;更多详细内容可前往观看http://www.wwlib.cn/index.php/artread/artid/7506.html Web安全 1、sql注入 Web程序中对于用户提交的参数未做过滤直接拼接到SQL语句中执行&#xff0c;导致参数中的特殊字符破坏了SQL语句原有逻…

qt 用数据画一个图,并表示出来

1.概要 想用数据绘制一个画面&#xff0c;看有相机到播放的本质是啥。 要点 // 创建一个QImage对象&#xff0c;指定图像的宽度、高度和格式 QImage image(width, height, QImage::Format_Grayscale8); // 将像素数据复制到QImage对象中 memcpy(image.bits(), pixelD…

【Linux网络】IP协议{初识/报头/分片/网段划分/子网掩码/私网公网IP/认识网络世界/路由表}

文章目录 1.入门了解2.认识报头3.认识网段4.路由跳转相关指令路由 该文诸多理解参考文章&#xff1a;好文&#xff01; 1.入门了解 用户需求&#xff1a;将我的数据可靠的跨网络从A主机送到B主机 传输层TCP&#xff1a;由各种方法&#xff08;流量控制/超时重传/滑动窗口/拥塞…