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系统最大打开文件数,这里使用的通配符 * 表示对所有用户生效

相关推荐
不念霉运12 分钟前
Gitee DevOps:中国企业数字化转型的“本土化加速器“
运维·gitee·团队开发·代码规范·devops·代码复审
安迪小宝30 分钟前
6 任务路由与负载均衡
运维·python·celery
遇见火星41 分钟前
jenkins流水线常规配置教程!
运维·docker·jenkins
LunarCod2 小时前
Ubuntu使用Docker搭建SonarQube企业版(含破解方法)
linux·运维·服务器·ubuntu·docker·开源·sonarqube
什么半岛铁盒2 小时前
Linux信号的保存
linux·运维·网络
noravinsc2 小时前
国产化中间件 替换 nginx
运维·nginx·中间件
惜.己3 小时前
Linux常用命令(十四)
linux·运维·服务器
linkingvision4 小时前
H5S 视频监控AWS S3 对象存储
linux·运维·aws·视频监控s3对象存储
doupoa4 小时前
Fabric 服务端插件开发简述与聊天事件监听转发
运维·python·fabric
BillKu4 小时前
服务器多JAR程序运行与管理指南
运维·服务器·jar