nginx服务

目录

基本介绍

nginx的主要功能

nginx的主要应用场景

nginx常用命令

nginx另外一种安装方式

nginx常用的信号符:

nginx配置文件详解

全局配置

event模块

http模块

server模块

location模块:

模块的划分


基本介绍

nginx:高性能、轻量级的web服务软件。

国外主要还是apache,

国内主要用的还是nginx

但是世界上主流的还是apache

特点:

1、稳定性高(没有apache稳)

2、系统资源消耗低(处理http请求的并发能力很高,单台物理服务器可以处理3万到5万个并发请求)

稳定:一般在企业中,为了保持服务器的稳定,并发量的设置在2万个左右,占用内存大概在2M左右,加上长连接keep-alive,3M左右

nginx的主要功能

1、静态文件服务:nginx可以直接提供静态文件的服务,HTML,CSS,JAVAScript,图片等。能够高效的处理并且响应静态文件的请求。

2、反向代理:本身自己可以作为一个反向代理的服务器,将客户端的请求转发给后端多个服务器,可以实现负载均衡与高可用(有多个后端服务器可以分担处理,并且如果有一台服务器挂掉,另外后端服务器可以继续工作),可以提高整个集群的性能以及可靠性。

反向代理的核心:客户端在请求时,通过代理服务器,会把请求的流量按照轮询算法,转发到后台不同的服务器,实现负载均衡和高可用。

正向代理:已知后端服务器,请求只会往固定的服务器发送请求。

3、处理动态内容,nginx处理动态内容很差,需要转发到专门用于后台处理的动态服务应用上:php,node.js,java,python,nginx可以代理请求,发送到后端的动态服务处理,动态服务器处理完之后,nginx来把动态请求,响应给客户端。

4、可以实现SSL以及TSL加密,就是HTTPS的加密方式,也就是数字证书的验证机制。

5、虚拟主机:nginx可以在一台服务器上设置多个虚拟主机,同一个服务器上可以有多个域名和站点。

6、URL重定向,可以实现灵活的URL重写和重定向。

7、缓存功能,nginx自带缓存功能。

8、日志功能,可以详细的记录请求的信息,包括访问时间,请求路径,ip地址,响应状态,有助于故障排查。(系统控制的日志,记录在/var/log/messages,业务日志:access.log以及error.log,access记录了谁访问我了,都是访问成功的记录,error日志也记录了谁访问了我,但是记录的都是访问失败的记录。)

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,足够了。

event模块

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

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

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

http模块

 

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

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

keepalive_timeout 65; #65秒

gzip on #打开压缩模块

server模块

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模块:

 

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模块当中

模块的划分

全局块,全局生效,所有用户都生效

events块:影响nginx服务器和用户的网络连接问题

http:只要模块,配置代理,缓存,虚拟主机,方向代理,只能是http的请求,才可以写在http模块中。

server块:包含在http模块当中,不能单独设置,也可以写在server中

location块:匹配uri,包含在server块中,也不能单独设置,不能写在其他地方

porxy_pass:反向代理,写在location模块中

upstream:反向代理指定服务器的命令,七层,基于ip和端口,走http协议,所以只能在http模块中

stream:四层,走的是tcp或者udp流量,不能写在http当中,写在全局配置。

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

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

相关文章

06 Ubuntu22.04上的miniconda3安装、深度学习常用环境配置

下载脚本 我依然是在清华镜像当中寻找的脚本。这里找脚本真的十分方便,我十分推荐。 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh 下载十分快速,10秒解决问题 运行miniconda3安装脚本 赋予执…

python数据容器

目录 数据容器 反向索引 list列表 语法 案例 列表的特点 列表的下表索引 list的常用操作 list列表的遍历 while循环遍历 for循环遍历 tuple元组 前言 元组定义 元组特点 获取元组元素 元组的相关操作 元组的遍历 while循环遍历 for循环遍历 字符串 前言…

SpringBoot复习:(19)Condition接口和@Conditional注解

Condition接口代码如下: public interface Condition {boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata);}它是一个函数式接口,只有一个方法matches用来表示条件是否满足。matches方法中的ConditionContext类对象context可以…

OPENCV C++(五)滤波函数+sobel边缘检测+人脸磨皮mask

滤波函数 中值滤波 medianBlur(frame, detectmat, 5); 平均滤波 blur(frame, detectmat, Size(5, 5)); 高斯滤波(最后一个是方差 越大越模糊) GaussianBlur(frame, detectmat, Size(5, 5),0); sobel的边缘检测函数 Sobel(gray, dx, CV_16S, 1, 0, 3…

图片静态展示

图片静态展示程序,包含选择文件夹路径,旋转,放大缩小,拖动,幻灯片播放,上一张下一张等,程序使用QT实现。 程序下载地址: 图片静态展示,包含选择文件夹路径,…

LeetCode113. 路径总和 II

113. 路径总和 II 文章目录 [113. 路径总和 II](https://leetcode.cn/problems/path-sum-ii/)一、题目二、题解方法一:递归另一种递归版本方法二:迭代 一、题目 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶…

Golang之路---04 项目管理——编码规范

本文根据个人编码习惯以及网络上的一些文章,整理了一些大家能用上的编码规范,可能是一些主流方案,但不代表官方。 1. 文件命名 由于 Windows平台文件名不区分大小写,所以文件名应一律使用小写 不同单词之间用下划线分词&#xf…

第20周 服务容错-Hystrix

RabbitMQ 安装 1. 首先在Linux上进行一些软件的准备工作,yum下来一些基础的软件包 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c kernel-devel 2. 下载RabbitMQ所需软件包(本神在这里使用的是 RabbitM…

java+python企业会议在线办公微信小程序 ia505

一、小程序端功能 该部分内容提供员工注册、员工资料修改、通知公告、部门信息、会议记录等等功能。 二、管理员管理功能 该部分内容包含了首页、个人中心、通知公告管理、员工管理、部门信息管理、职位信息管理、会议记录管理、待办事项管理、工资信息管理、留言板管理、系统管…

二叉树的直径 LeetCode热题100

题目 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 思路 分析二叉树的直径,无非是一个节点加上…

C++ 类型兼容规则

类型兼容规则是指在需要基类对象的任何地方,都可以使用公有派生类的对象来替代。 通过公有继承,派生类得到了基类中除构造函数和析构函数之外的所有成员。这样,公有派生类实际就具备了基类的所有功能,凡是基类能解决的问题&#x…

微信支付官方文档怎么看

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

Cilium系列-14-Cilium NetworkPolicy 简介

系列文章 Cilium 系列文章 前言 今天我们进入 Cilium 安全相关主题, 介绍 Kubernetes 网络策略以及 CiliumNetworkPolicies 额外支持的内容。 网络策略(NetworkPolicy)的类型 默认情况下,Kubernetes 集群中的所有 pod 都可被其他 pod 和网络端点访问。 网络策…

Kafka3.0.0版本——Broker(Zookeeper服务端存储的Kafka相关信息)

目录 一、启动zookeeper集群及kafka集群服务启动1.1、先启动三台zookeeper集群服务,再启动三台kafka集群服务1.2、使用PrettyZoo连接zookeeper客户端工具 二、在zookeeper服务端存储的Kafka相关信息 一、启动zookeeper集群及kafka集群服务启动 1.1、先启动三台zook…

计算机成下一个土木了吗?

前些年抓住了互联网行业的红利期,进入大厂的员工,基本可以实现在一线城市买房扎根。 但反观现在,“被毕业、逃离互联网、躺平算了...”却成了这个行业的主旋律,不少人在谈论润到国企和外企去了,也放低了对工资的预期&…

LIME(可解释性分析方法)

目录 1.什么是LIME 2.思路 3.LIME在不同任务中的范式(待补充) 1.什么是LIME 简单理解: 对于分类任务:如下图所示,LIME可以列出分类结果,所依据特征对应给比重。 对于图像分类任务:如下图所示&a…

docker 配置 Mysql主从集群

Docker version 20.10.17, build 100c701 MySQL Image version: 8.0.32 Docker container mysql-master is source. mys ql-replica is replication. master source. replica slave.名称叫法不一样而已。 Choose one of the way,与replica同步数据两种情况&…

【Shell】基础语法(一)

文章目录 一、shell的介绍二、执行脚本三、shell的基本语法1. 变量的使用2. 变量的分类 一、shell的介绍 Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)&a…

不规则文件转JSON

需求分析: 有时候,我们取出来的数据并不是一个规则的JSON文件,这个时候面对存库还是ES检索都是一个问题,所以我们就需要进行解析,然而用字符串分割是不现实的,我们需要一种快速的方法。 问题解决&#x…

Linux-centos花生壳实现内网穿透

Linux-centos花生壳实现内网穿透 官网教程 1.安装花生壳 下载网址 点击复制就可以复制下载命令了 wget "https://dl.oray.com/hsk/linux/phddns_5.2.0_amd64.rpm" -O phddns_5.2.0_amd64.rpm# 下载完成之后会多一个rpm文件 [rootlocalhost HuaSheng]# ls phddns_…