Nginx最常用的指令

服务管理

sudo systemctl status nginx # nginx当前状态
sudo systemctl reload nginx # 重新加载 nginx
sudo systemctl restart nginx # 重启nginxsudo nginx -t   # 检查语法
nginx           # 启动
nginx -s reload # 重启
nginx -s stop   # 关闭进程
nginx -s quit   # 平滑关闭nginx
nginx -V        # 查看nginx的安装状态,

Docker 安装

docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx

简单代理

location / {proxy_pass http://127.0.0.1:3000;proxy_redirect      off;proxy_set_header    Host $host;
}

全局变量

$args

这个变量等于请求行中的参数,同 $query_string

$remote_port

客户端的端口

$content_length

请求头中的 Content-length 字段

$remote_user

已经经过 Auth Basic Module 验证的用户名

$content_type

请求头中的 Content-Type 字段

$request_filename

当前请求的文件路径,由 root 或alias指令与URI请求生成

$document_root

当前请求在 root 指令中指定的值

$scheme

HTTP方法(如http,https)

$host

请求主机头字段,否则为服务器名称

$hostname

主机名

$http_user_agent

客户端agent信息

$http_cookie

客户端cookie信息

$server_protocol

请求使用的协议,通常是HTTP/1.0或HTTP/1.1

$server_addr

服务器地址,在完成一次系统调用后可以确定这个值

$server_name

服务器名称

$server_port

请求到达服务器的端口号

$limit_rate

这个变量可以限制连接速率

$request_method

客户端请求的动作,如 GET/POST

$request_uri

包含请求参数的原始URI,不包含主机名,如:/foo/bar.php?arg=baz

$remote_addr

客户端的IP地址

$uri

不带请求参数的当前URI,$uri不包含主机名,如 /foo/bar.html

$document_uri

与 $uri 相同

$nginx_version

nginx 版本

更多全局变量查看官方文档

监听端口

server {listen 80;      # 标准 HTTP 协议listen 443 ssl; # 标准 HTTPS 协议listen 443 ssl http2; # 对于 http2listen [::]:80; # 使用 IPv6 在 80 上收听# 仅收听使用 IPv6listen [::]:80 ipv6only=on;
}

域名 (server_name)

server {# 监听 example.comserver_name example.com;# 监听多个域server_name example.com www.example.com;# 监听所有子域server_name *.example.com;# 监听所有顶级域server_name example.*;# 监听未指定的主机名(监听 IP 地址本身)server_name "";
}

负载均衡(简单实例)

upstream node_js {server 0.0.0.0:3000;server 0.0.0.0:4000;server 127.155.142.421;
}

负载均衡(权重)

upstream test {server localhost:8080 weight=9;server localhost:8081 weight=1;
}

upstream ip_hash

upstream test {ip_hash;server localhost:8080;server localhost:8081;
}

解决负载均衡 session 的问题

upstream fair

upstream backend {fair;server localhost:8080;server localhost:8081;
}

响应时间短的优先分配

server 可选参数

weight

访问权重数值越高,收到请求越多

fail_timeout

指定的时间内必须提供响应

max_fails

尝试失败服务器连接的最大次数

down

标记一个服务器不再接受任何请求

backup

有服务器宕机,标记的机器接收请求

配置示例

upstream test {server 127.0.0.1:83 weight=9; # 权重server 127.0.0.1:83 weight=1; # 权重# 失败超时时间server 127.0.0.1:83 max_fails=3;server 127.0.0.1:83 weight=3 down;
}

upstream url_hash

upstream backend {hash $request_uri;hash_method crc32;server localhost:8080;server localhost:8081;
}

按访问url的hash结果来分配请求

upstream keepalive

upstream memcached_backend {server 127.0.0.1:11211;server 10.0.0.2:11211;keepalive 32;
}

激活缓存以连接到上游服务器

子文件夹中的代理

location /folder/ { # / 很重要!proxy_pass http://127.0.0.1:3000/; # / 很重要!proxy_redirect      off;proxy_set_header    Host            $host;proxy_set_header    X-Real-IP       $remote_addr;proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
}

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

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

相关文章

Java学习笔记002——类的修饰符

在Java语言中,类的访问修饰符决定了其它类能够访问该类的方式。类有如下4种访问修饰符,在创建类时用于类的声明: 1、public: 当一个类被声明为public时,它可以从任何其他类中被访问,无论这些类位于哪个包中。通常&am…

uniapp使用vue3语法构建自定义导航栏,适配小程序胶囊

具体代码 <template><view class"nav-wrapper-container" :style"height:navBarHeight px"><view class"nav-status-container" :style"height:navstatusBarHeight px;" /><view v-if"isCustom" clas…

数字化转型导师坚鹏:BLM证券公司数字化转型战略

BLM证券公司数字化转型战略 ——以BLM模型为核心&#xff0c;实现知行果合一 课程背景&#xff1a; 很多证券公司存在以下问题&#xff1a; 不知道如何系统地制定证券公司数字化转型战略&#xff1f; 不清楚其它证券公司数字化转型战略是如何制定的&#xff1f; 不知道…

Redis 淘汰策略、持久化、高可用

淘汰策略 只有 redis 内存空间已满并且往里面写新数据&#xff0c;才会触发淘汰策略。通过 expire / / /pexpire 让 key-value 过期&#xff0c;从而让 redis 清除这个 key-value。value 的数据结构typedef struct redisObject {unsigned tpye:4;unsigned encoding:4;// 判断哪…

个人数仓开发面试题记录

一.广州电商公司 1.简单自我介绍 2.介绍下之前的公司离线数仓项目 3.mysql和hive区别&#xff1f; 4.sql的执行顺序&#xff1f; 5.hive的优化 6.说下你之前公司来&#xff0c;你的技能层次在每个公司&#xff1f;你怎么评价你的技能&#xff1f; 7.你的之前业务主要是做什么&…

Linux基础命令[10]-cmp

文章目录 1. cmp 命令说明2. cmp 命令语法3. cmp 命令示例3.1 不加参数3.2 -b&#xff08;显示不同的字节&#xff09;3.3 -i&#xff08;跳过字节&#xff09;3.4 -l&#xff08;显示所有不同&#xff09;3.5 -n&#xff08;比较n个字节&#xff09;3.6 -s&#xff08;不显示信…

el-select 不能重复选择

el-select 不能重复选择&#xff0c;注意&#xff1a;删除后可以再次重新被选择 <el-form-item><el-select v-model"attribute.attributeSelect" change"changeSelect()" placeholder"请选择属性分组" clearable><el-optionv-fo…

PostgreSQL restartpoint 原理详解

背景 大部分人对 PG 的 checkpoint 机制会熟悉一点&#xff0c;但是对 restartpoint 却不太熟悉&#xff0c;网上介绍这方面的文章也比较少。因此&#xff0c;本文将以 PG 14.7 的社区代码为基础&#xff0c;介绍 PG 中的 restartpoint 机制。 原理介绍 什么是 restartpoint…

华为OD技术面试案例1-2024年

背景&#xff1a; 学校背景&#xff1a;211本科工作经验&#xff1a;1年半转行目标&#xff1a;测试岗位 一、机考 &#xff08;得分&#xff1a;350&#xff09; 二、01.04 hr面 自我介绍选择东莞的原因对OD&#xff08;华为研发岗位&#xff09;的看法家庭情况简历相关问…

信息论笔记:信息量+熵+相对熵+交叉熵+损失函数

信息论 信息量 I(x) -log( P )I为信息量P为x发生的概率 熵 混乱程度的度量&#xff0c;不确定的局面表示很混乱系统里信息量的期望值H(x) -sum( P(i) * log( P(i) ) ) 相对熵(KL散度) 用于度量两个概率分布间的差异性信息D_KL(S | O) sum( P_S(x) * log_2( 1 / P_O(x)…

Mysql学习之各种锁

锁 事务的隔离性由锁来实现 MySQL并发事务访问相同记录 并发事务访问相同记录的情况大致可以分为3种&#xff1a; 读-读的情况 读-读情况&#xff0c;即并发事务相继读取相同的记录。读取操作本身不会对记录由有任何的影响&#xff0c;并不会引起什么问题&#xff0c;所以允许…

简要讲解OV7725摄像头

本文主要包含以下几部分内容&#xff1a; 1. 通过OV7725分析模块原理图。 2. 讲解部分寄存器的含义、RGB565格式图像输出时序、帧率计算。 3. 讲解SCCB协议与I2C协议的区别。 1、OV7725功能 OV7725是一款1/4英寸单芯片图像传感器&#xff0c;其感光阵列达到640*480&#xff0c…

LibreOJ 137. 最小瓶颈路(加强版) 题解 Kruscal重构树 ST表

声明&#xff1a;本题目是LibreOJ 136. 最小瓶颈路 题解 最小生成树 倍增加强版&#xff0c;建议先学习简单版的做法。 题目链接&#xff1a;LibreOJ 137. 最小瓶颈路&#xff08;加强版&#xff09; 题目描述&#xff1a; 给定一张无向图&#xff0c;询问两个结点之间的最小瓶…

【MySQL 系列】在 Windows 上安装 MySQL

在 Windows 平台上安装 MySQL 很简单&#xff0c;并不需要太复杂的步骤。按照本文的步骤操练起来就可以了。 文章目录 1、下载 MySQL 安装程序2、安装 MySQL 数据库2.1、选择安装类型2.2、检查所需组件2.3、安装所选产品组件2.4、产品配置2.5、配置高可用性2.6、配置服务器类型…

【leetcode】 剑指 Offer学习计划(java版本含注释)(下)

目录 前言第十六天&#xff08;排序&#xff09;剑指 Offer 45. 把数组排成最小的数&#xff08;中等&#xff09;剑指 Offer 61. 扑克牌中的顺子&#xff08;简单&#xff09; 第十七天&#xff08;排序&#xff09;剑指 Offer 40. 最小的k个数&#xff08;简单&#xff09; 第…

c++11多线程:call_once

文章目录 call_once示例一示例二 call_once std::call_once是 C11 标准库中的一个函数&#xff0c;用于确保某个函数只会被调用一次。 单例设计模式是一种常见的设计模式&#xff0c;用于确保某个类只能创建一个实例。由于单例实例是全局唯一的&#xff0c;因此在多线程环境中…

YOLO系列中的“data.yaml”详解!

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;主力高效涨点&#xff01;&#xff01;&#xff01; 一、data.yaml介绍 YOLO系列中的data.yaml文件包含了YOLO系列模型运行所需要的数据集路径、数据集中的类别数及标签。数据集路径可以用绝对路径也可以…

Python实现股票信息查询

目前两个常用的股票信息CPI&#xff1a; 腾讯行情CTPAPI接口源码 新浪行情CTPAPI 使用requests模块爬取股票信息&#xff0c;这里以查询股票市值为例。 一、根据股票名称查询股票代码 在python文件夹下设置两个表格GPLIST.xlsx&#xff0c;其中是A股全部代码和股票名称&#…

如何在飞书接入ChatGPT并结合内网穿透实现公网远程访问智能AI助手

文章目录 前言环境列表1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 前言 在飞书中创建chatGPT机器人并且对话&#xff0c;在下面操作步骤中…

MySQL 高可用解决方案(双主双从)

1.环境说明 操作系统&#xff1a;centos7.7 主服务器&#xff1a;node2(192.168.1.102) 从服务器&#xff1a;node3(192.168.1.103) keepalived中虚拟ip(VIP):192.168.1.100 2.准备事项 主库和从库数据库的版本一致把主库的数据同步给从库一份 #对主库进行全局读锁定 FLUSH…