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的主配置文件

四层代理
四层代理只能写在全局环境中,不能写在http模块里

注意:写在四层里必须指定后台服务器的地址和端口
在这里插入图片描述
七层代理
test1 20.0.0.10 代理 ------配置反向代理

test2 20.0.0.20 后台服务器1

test3 20.0.0.30 后台服务器2

客户端:谷歌浏览器

七层代理写在http模块里,默认端口80
在这里插入图片描述

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

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

相关文章

深度学习基础:Numpy 数组包

数组基础 在使用导入 Numpy 时,通常给其一个别名 “np”,即 import numpy as np 。 数据类型 整数类型数组与浮点类型数组 为了克服列表的缺点,一个 Numpy 数组只容纳一种数据类型,以节约内存。为方便起见,可将 Nu…

Linux多线程编程-生产者与消费者模型详解与实现(C语言)

1.什么是生成者与消费者模型 生产者-消费者模型是并发编程中的经典问题,描述了多个线程(或进程)如何安全、有效地共享有限的缓冲区资源。在这个模型中,有两种角色: 生产者(Producer)&#xff1…

Docker 安装ros 使用rviz 等等图形化程序

Docker 安装ros 使用rviz 等等图形化程序 ubuntu 版本与ros 发行版本对应 如何安装其它版本ros 此时考虑使用docker 易于维护 地址: https://hub.docker.com/r/osrf/ros 我主机是 ubuntu22.04 使用这个标签 melodic-desktop-full 1 clone 镜像到本机 docker pu…

OpenCV:python图像旋转,cv2.getRotationMatrix2D 和 cv2.warpAffine 函数

前言 仅供个人学习用,如果对各位朋友有参考价值,给个赞或者收藏吧 ^_^ 一. cv2.getRotationMatrix2D(center, angle, scale) 1.1 参数说明 parameters center:旋转中心坐标,是一个元组参数(col, row) angle:旋转角度…

html(抽奖设计)

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>抽奖</title><style type"text/css">* {margin: 0;padding: 0;}.container {width: 800px;height: 800px;border: 1px dashed red;position: absolut…

<数据集>光伏板缺陷检测数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;2400张 标注数量(xml文件个数)&#xff1a;2400 标注数量(txt文件个数)&#xff1a;2400 标注类别数&#xff1a;4 标注类别名称&#xff1a;[Crack,Grid,Spot] 序号类别名称图片数框数1Crack8688922Grid8248843S…

近期几首小诗汇总-生活~卷

生活 为生活飘零&#xff0c;风雨都不阻 路见盲人艰&#xff0c;为她心点灯 贺中科大家长论坛成立十五周年 科学家园有喜贺 园外丑汉翘望中 曾一学子入我科 正育科二盼长大 憧憬也能入此家 与科学家论短长 园外翘首听高论 发现有隙入此坛 竟然也能注册成 入园浏览惶然立 此贴…

零信任的架构结合模块化沙箱,实现一机两用的解决方案

零信任沙箱是深信达提出的一种数据安全解决方案&#xff0c;它将零信任原则与SDC沙箱技术的优势相结合。零信任原则是一种安全概念&#xff0c;核心思想是“永不信任&#xff0c;总是验证”。它要求对每一个访问请求都进行严格的身份验证和授权&#xff0c;无论请求来源于内部还…

Qt Quick qml自定义控件:qml实现电池控件

qml入门进阶专栏地址:https://blog.csdn.net/yao_hou/category_9951228.html?spm=1001.2014.3001.5482 本篇博客介绍如何使用qml来实现电池控件,效果图如下: 下面给出实现代码 Battery.qml /*电池组件*/import QtQuick 2.15 import QtQuick.Controls 2.15Rectangle {id: b…

ES13的4个改革性新特性

1、类字段声明 在 ES13 之前,类字段只能在构造函数中声明, ES13 消除了这个限制 // 之前 class Car {constructor() {this.color = blue;this.age = 2

EXSI 实用指南 2024 -编译环境 Ubuntu 安装篇(二)

1. 引言 在当今的虚拟化领域&#xff0c;VMware ESXi 是备受推崇的虚拟化平台&#xff0c;广泛应用于企业和个人用户中。它以卓越的性能、稳定的运行环境和丰富的功能&#xff0c;为用户提供了高效的硬件资源管理和简化的 IT 基础设施维护。然而&#xff0c;如何在不同操作系统…

STM32第十九课:FreeRTOS移植和使用

目录 需求一、FreeRtos概要二、移植FreeRtos1.复制源码2.内存空间分配和内核相关接口3.FreeRTOSConfig.h4.在工程中添加.c.h 三、任务块操作1.创建任务2.任务挂起&#xff0c;恢复&#xff0c;删除 四、需求实现代码 需求 1.将FreeRtos&#xff08;嵌入式实时操作系统&#xf…

ts使用typeorm实现db创建

1.新建基础架构 ①创建项目文件名, mkdir ‘名称’ ->cd ‘文件名’ -> mkdir ‘src’->npm init mkdir fileName cd fileName mkdir src npm init在当前项目名目录下执行npm init,按照默认执行就会创建package.json. 之后执行 npm i jest/globals casl/ability bcr…

755M全球山脉数据集分享

我们在《548M高精度全球国界数据》和《270M全球流域矢量数据》文中&#xff0c;为你分享过全球的国界数据和水系流域数据。 现在再为你分享755M全球山脉数据集&#xff0c;请在文末查看该数据的领取方法。 755M全球山脉数据集 全球山脉数据集&#xff0c;提供了在全球山地生…

【企业级监控】Zabbix监控网站并发连接数

Zabbix自定义监控项与触发器 文章目录 Zabbix自定义监控项与触发器资源列表基础环境前言一、什么是zabbix的Key值二、获取远程Key值2.1、获得主机的Key值2.2、被监控端安装Agent2.3、zabbix_get命令获取Agent数据举例2.3.1、zabbx_get获取cpu核心数2.3.2、获取目标主机系统和内…

ESP32CAM物联网教学11

ESP32CAM物联网教学11 霍霍webserver 在第八课的时候&#xff0c;小智把乐鑫公司提供的官方示例程序CameraWebServer改成了明码&#xff0c;这样说明这个官方程序也是可以更改的嘛。这个官方程序有四个文件&#xff0c;一共3500行代码&#xff0c;看着都头晕&#xff0c;小智决…

opencascade AIS_InteractiveContext源码学习8 trihedron display attributes

AIS_InteractiveContext 前言 交互上下文&#xff08;Interactive Context&#xff09;允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是&#xff0c;对于已经被交互上下文识别的交互对象&#xff0c;必须使用上下文方法进行…

探索IP形象设计:快速掌握设计要点

随着市场竞争的加剧&#xff0c;越来越多的企业开始关注品牌形象的塑造和推广。在品牌形象中&#xff0c;知识产权形象设计是非常重要的方面。在智能和互联网的趋势下&#xff0c;未来的知识产权形象设计可能会更加关注数字和社交网络。通过数字技术和社交媒体平台&#xff0c;…

年轻人「躺平」、「摆烂」现象的根源是什么?

年轻人「躺平」、「摆烂」现象的根源是什么? 穷人没有资格躺平 我可以躺平吗?当然可以了! 对于有些人来说是躺平在房车里,直接开到命运的终点;而你是躺在马路中间,被命运的车轮反复碾压。 中国一线城市的00后,他们的父母多是没有哥哥、姐姐、弟弟、妹妹的独生子女,…

S7-200smart与C#通信

https://www.cnblogs.com/heizao/p/15797382.html C#与PLC通信开发之西门子s7-200 smart_c# s7-200smart通讯库-CSDN博客https://blog.csdn.net/weixin_44455060/article/details/109713121 C#上位机读写西门子S7-200SMART PLC变量 教程_哔哩哔哩_bilibilihttps://www.bilibili…