nginx基础

nginx

具体就是一个轻量级以及高性能的web服务软件。

nginx特点

1、稳定性高。(但不如apache)

2、系统资源消耗比较低。(处理http请求的并发能力较高,单台处理器可以处理3w-5w的并发请求)

注:一般在企业中,为了保存服务器稳定,并发量的设置一般在2w左右。

nginx的主要功能

1、静态文件服务。(nginx可以直接提供静态文件服务。能够高效处理并响应静态文件的请求。)

2、反向代理。(nginx本身可以作为一个反向代理的服务器。可以把客户端的请求转发给后端多个服务器,实现负载均衡,高可用。可以提高整个集群的性能。)

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

3、处理动态内容。(nginx处理动态内容很差,但它可以代理请求,发送到后端的动态服务处理,动态服务处理完后,由nginx把动态请求响应给客户端。)

4、可以实现SSL/TLS加密(https的加密方式数字证书验证机制)

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

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

7、缓存功能。

8、日志功能。(可以详细的记录请求的信息,包括访问时间,请求路径,IP地址,响应状态。有助于故障排查。)

nginx的主要应用场景

1、静态服务

2、反向代理,负载均衡

3、缓存服务

4、动态服务

nginx是如何实现高并发的

1、nginx自身代码的问题,大量的底层代码进行了优化,同时自带 了一个功能模块,epoll模块,支持高并发。

2、nginx也是一个master进程控制多个work进程。master负责收集和分发请求,work是实际执行者 。work处理请求的过程中,只受内存大小的限制。所以可以处理多个请求,再加上nginx本身就是轻呈级的服务,所以可以起到大并发处理的能力。

nginx相关命令

nginx -t 检查配置文件是否正确

nginx -v 查看版本号

nginx -s 向主进程传输信号(停止,开启,重启,重加载)

nginx -c 设置配置文件的默认路径

信号符

kill -USR1 pid号(进程号) 日志分割

kill -s HUP pid号 重加载

killall -s HUP nginx

kill -s QUIT pid号 优雅退出(有人访问时不会结束进程,访问结束才会结束进程。)

kill -s WINCH pid号 优雅结束worker进程

nginx.conf配置文件

location块匹配的是uri

复制代码
https://www.baidu.com/ky30
在com之后的ky30就是url

root 拼接 root指定的目录和location匹配的uri进行拼接,目录都要存在并且在url目录下要有web文件。可以使用重定向。

alias 匹配指定目录下的web文件。不能使用重定向。

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

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

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

server块:设置虚拟主机, 包含在http模块当中,不能单独设置。

location块:匹配uri,包含在server当中的,也不能单独设置

修改Linux服务器文件最大打开数

临时修改:ulimit -n 65535

永久修改:/etc/security/linuits.conf soft

1 *soft nproc 65535 即可以使用ulimit -u 命令查看和修改的值。

1 *hard nproc 65535 即最大可分配的进程数。

1 *soft nofile 65535 即可以使用 ulimit -n 命令查看和修改的值。

1 *hard nofile 65535 即最大可分配的文件数。

注:65535 为Linux系统最大打开文件数,这里使用的通配符 * 表示对所有用户生效

相关推荐
张龙6876 小时前
Docker 镜像瘦身实战:从 1.2GB 到 128MB,我踩过的 7 个坑和一套可复制的方法论
运维·后端·docker
外滩运维专家7 小时前
Nginx 上的通配符证书 90 天到期,续签这事我是这么搞的
运维
科技新资讯7 小时前
国内AI影视制作服务商哪家口碑好
运维·人工智能·devops
IT摆渡者8 小时前
ubuntu系统网络问题
linux·运维·ubuntu
kdxiaojie9 小时前
Linux 驱动研究 —— SDIO (1)
linux·运维·笔记·学习·sdio
ZzzZZzzzZZZzzzz…9 小时前
K8S实战:NFS+StorageClass+PV/PVC+Deployment
运维·云原生·容器·kubernetes·storageclass·linux运维·持久卷
BerrySen1789 小时前
一个 JDBC 参数引发的架构演进:Apache SeaTunnel 如何解决数据同步中的“定时 Flush”难题
运维·自动化·zabbix
杨_晨9 小时前
Linux查看本地环境变量的命令
linux·运维·服务器
草莓熊Lotso10 小时前
【Linux网络】从0手写Reactor反应堆(二):完善核心细节——ET非阻塞读写、分层架构与回调机制
linux·运维·服务器·网络·c++·tcp/ip·架构
xlq2232210 小时前
高并发服务器day21
运维·服务器