Nginx知识

server/2025/2/4 9:07:20/

nginx 精简的配置文件

worker_processes  1;
# 可以理解为一个内核一个worker
# 开多了可能性能不好events {worker_connections  1024;
}
# 一个 worker 可以创建的连接数
# 1024 代表默认一般不用改http {include       mime.types;# 代表引入的配置文件# mime.types 在 nginx.conf 同级目录下# 给浏览器看的,让浏览器知道返回的是啥类型,便于好解析default_type  application/octet-stream;# 如果上面的 mime.types 匹配不到,就采用这个默认的sendfile        on;# 代表返回的数据是否走中间商,还是直接走网卡返回# 中间商就是 nginx 的内存keepalive_timeout  65;# 连接超时数# 一个服务器配置server {listen       80; # 监听的端口server_name  localhost; # 配置域名# 上面两个的组合要唯一,不然出问题# 上面两个匹配到了,匹配下面location / {root   html; # html文件夹里面的意思index  index.html index.htm;}# 出现错误了, 状态码,处理根路径 走下面的进行匹配error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

虚拟主机

因为服务器配置过剩产生的

一个 nginx 可以配置多个域名

# 直接复制一个 server 然后改一下就行了
# 按从上往下匹配如果匹配到了就结束
# 通配符匹配 * # 看第二个 server
# 在 server_name 后面可以写多个
# 可以使用正则http {server {listen       80; # 监听的端口server_name  localhost; # 配置域名location / {root   html; # html文件夹里面的意思index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}server {listen       80; # 监听的端口server_name  *.hello.*; # 配置域名location / {root   html; # html文件夹里面的意思index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

域名解析相关架构

二级域名

短网址:就是服务器用数据库存一个key和value,value为真实地址,key随便,返回给用户,节省空间。

httpDns:用于app和C/S架构,好像可以避免域名劫持的风险。

反向代理与正向代理

按角色来说的

就是服务器和用户之间要通过代理, 如果把服务器和代理绑在一起就是反向(理解在一个机房),用户和服务器在一起就是正向(家和路由器)

nginx作为反向代理有带宽瓶颈,用户请求过nginx然后与后端交互,后端处理返回给nginx,会产生瓶颈(nginx),可以使用DR架构,就是服务器直接返回给用户(通过机房网关)。

负载均衡

一定要考虑流量倾斜问题

# 下面的那个网址
# 配置比重可以实现负载均衡
httpsdeom = {server 网址 weight=?[down # 代表当前机子挂了,这个参数基本不咋用,没啥用];server 网址 weight=?[backup # 代表这个机子作为备用机子];
}server {listen       80; # 监听的端口server_name  localhost; # 配置域名location / {proxy_pass 网址(域名);# 下面没用了# root   html; # html文件夹里面的意思index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

未完待续


http://www.ppmy.cn/server/164844.html

相关文章

Redis真的是单线程的吗?

在学习redis的过程中老是听到:Redis快的原因之一是单线程模型,省去线程切换和竞争的性能开销,但是深入了解redis之后发现它并不是纯的单线程。 Redis 单线程指的是「接收客户端请求->解析请求 ->进行数据读写等操作->发送数据给客户…

【编译系列】Torch.compile()训练编译——算子融合逻辑 工程化

1. 背景: torch.compile()中,Dynamo作为前端负责计算图的捕获,后端有inductor、tvm等进行编译优化。 Dynamo:在Python字节码层面注入pass,实现bytecode-to-bytecode的优化,通过对bytecode逐行进行解析构建FX GraphInductor:负责对FX Graph进行AOTAutograd生成joint-gra…

论文阅读(七):贝叶斯因果表型网络解释遗传变异和生物学知识

1.论文链接:Bayesian Causal Phenotype Network Incorporating Genetic Variation and Biological Knowledge 摘要: 在分离群体中,数量性状基因座(QTL)定位可以确定对表型有因果效应的QTL。这些方法的一个共同特点是Q…

排序算法3

4、希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高&#xff…

STM32 LED呼吸灯

接线图: 这里将正极接到PA0引脚上,负极接到GND,这样就高电平点亮LED,低电平熄灭。 占空比越大,LED越亮,占空比越小,LED越暗 PWM初始化配置 输出比较函数介绍: 用这四个函数配置输…

LabVIEW无人机航线控制系统

介绍了一种无人机航线控制系统,该系统利用LabVIEW软件与MPU6050九轴传感器相结合,实现无人机飞行高度、速度、俯仰角和滚动角的实时监控。系统通过虚拟仪器技术,有效实现了数据的采集、处理及回放,极大提高了无人机航线的控制精度…

pytorch实现循环神经网络

人工智能例子汇总:AI常见的算法和例子-CSDN博客 PyTorch 提供三种主要的 RNN 变体: nn.RNN:最基本的循环神经网络,适用于短时依赖任务。nn.LSTM:长短时记忆网络,适用于长序列数据,能有效解决…

【Redis_2】短信登录

一、基于Session实现登录 RegexUtils:是定义的关于一些格式的正则表达式的工具箱 package com.hmdp.utils;import cn.hutool.core.util.StrUtil;public class RegexUtils {/*** 是否是无效手机格式* param phone 要校验的手机号* return true:符合,false&#xff…