【Nginx】Nginx网站服务

news2025/2/21 19:27:20
国外主流还是使用apache;国内现在主流是nginx(并发能力强,相对稳定)
nginx:高新能、轻量级的web服务软件
特点:
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/TLS加密,HTTPS的加密方式,数字证书验证机制
5.虚拟主机,nginx可以在一台服务器上设置多个虚拟主机,同一个服务器上可以有多个域名和站点
6.URL重定向,可以实现灵活的url重写和重定向
7.缓存功能,nginx自带缓存功能;get可以获取缓存,post不能获取缓存
8.日志功能,可以详细的记录请求的信息,包括访问时间、请求路径IP地址、响应状态、有助于故障排查
系统控制的日志,记录在/var/log/messages 业务日志:access.log、error.log
    access.log	记录了访问成功的记录
    error.log		记录了访问失败的记录
正向代理:

***反向代理:

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

缓存

nginx的主要应用场景:

1.静态服务

2.反向代理、负载均衡

3.缓存服务

4.动态服务
 ***nginx是如何实现高并发的?
1.  nginx自身代码的问题:大量的底层代理进行了优化,同时自带了一个功能模块——epoll模块,可以支持高并发
2.  nginx也是一个master进程控制多个work进程,master负责收集和分发请求,work是实际执行者;
    每一个请求进来时,master就会拉起一个work进程来处理请求同时,master进程也负责监控work的状态;
    worker的数量和cpu要一致或者是cpu的2倍
    worker处理请求的过程中,只收内存大小的限制,所以可以处理多个请求;
    再加上nginx本身就是轻量级的服务,处理请求时占用的内存本身很少,所以可以起到大并发处理的能力
    两者之间相互依赖,相互补充
conf    保存的是所有nginx的配置文件,其中最核心的就是nginx.conf
html    保存nginx的web文件,这个木里是默认的目录,可以改
50x.html    是nginx默认的错误页面的提示

logs    保存日志文件的位置
sbin		nginx二进制的启动脚本,可以结合不同的参数来进行使用

nginx -t	检查配置文件是否配置正确
nginx -v	查看nginx的版本号
nginx -s	向主进程传输信号,停止、开启、重启、重新加载
nginx -c	设置配置文件的默认路径

nginx -s stop
nginx -s start
nginx -s reload

信号符:

信号符结合kill命令:
kill -USR1 pid号 		#日志分割
kill -s HUP pid号		#kill后只能跟pid号,重新加载
killall -s HUP nginx	#killall后可以跟服务名,也可以用pid号
kill -s QUIT pid号		#优雅退出,有人访问时不会结束进程,访问完后再结束进程
kill -s WINCH pid号		#优雅地结束worker,直到请求完成才会结束worker进程

必须要epel源(工作中一般不用yum安装)

yum install -y epel-release
yum install nginx -y

    worker_processes 1;		#工作进程,也就是worker进程的数量,一般是配置成cpu数一致,或者2倍;         
                             一般来说小网站设置成1就足够了
    worker_connections	1024	#每个进程可以处理的最大连接数,默认为1024
***如何修改linux服务器文件的最大打开数量
ulimit -n 65535				#临时修改;65535为linux最大可打开数量
vim  /etc/security/limits.conf
    # 65535 为Linux系统最大打开文件数
    * soft nproc 65535 
    * hard nproc 65535 
    * soft nofile 65535 
    * hard nofile 65535
#永久修改,需要重启linux才能生效

    ulimit -a

usr/local/nginx/conf/nginx.conf         #配置文件

event块

 http块

 server块可以配置虚拟主机的相关参数,一个http模块中可以有多个server块

 location块匹配的是URI(域名后面的地址)

 ***#location / 表示 /usr/local/nginx/html
    root		拼接;root指定的目录和location匹配的url之间做一个拼接,/opt/ky30/这两个路径都要真实存在,而且都是目录,并且在url目录里要有web文件
    alias		匹配指定路径下的web文件
    /root后面有没有 / 无所谓;alias加了 / ,后面也必须有 / ,否则匹配不到

root标签可以使用重定向
alias标签不可以设置重定向

全局块 全局生效,所有模块,所有用户都生效
events    影响服务器和用户的网络连接问题
http      主要模块,配置代理、缓存、虚拟主机、方向代理、只能是http的请求才能写入 
          http模块中;upstream #反向代理指定服务器的命令
server块      包含在http模块当中,不能单独设置
location块    匹配uri,包含在server当中,也不能单独设置
    porxy_pass    #反向代理

upstream	七层,基于IP和端口,走http协议,所以只能在http模块中
stream	    四层,走的是tcp或者udp流量,不能写在http当中,写在全局配置

实验:

一、访问状态统计

1:

1:经过三次握手的

1:处理的请求数

二、基于用户名和密码的访问控制

三、基于IP地址的访问规则

四、虚拟主机,创建多个虚拟主机

基于一个服务器,创建多个主页

 nginx -t

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

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

相关文章

40G光模块在高速网络中的关键角色

40G光模块在高速网络中扮演着关键的角色。它是用于传输数据的光纤通信设备,具备高速数据传输能力,广泛应用于数据中心、电信运营商、企业网络等领域。本文我们来看看40G光模块在高速网络中是如何发挥它的作用的! 一、认识40G光模块 为实现4…

vue手写多对多关联图,连线用leader-line

效果如图 鼠标滑动效果 关联性效果 <template ><div class="main" ref="predecessor"><div class="search"><div class="search-item"><div class="search-item-label">部门</div><…

多用户一体化建设跨境电商小程序、app开发

跨境电商是指通过互联网技术&#xff0c;进行国际贸易的电子商务活动。随着跨境电商的快速发展&#xff0c;许多企业开始关注开发跨境电商小程序和app&#xff0c;以扩大其国际业务。下面是多用户一体化建设跨境电商小程序和app的开发步骤。 第一步&#xff1a;需求分析和规划…

tomcat的多实例,动静分离(web服务基础结束)

多实例 多实例就是在一台服务器上有多个tomcat的服务&#xff08;核心是改端口&#xff09; 实验&#xff1a;多实例 安装步骤 1.安装好 jdk 2.安装 tomcat cd /opt tar zxvf apache-tomcat-9.0.16.tar.gz mkdir /usr/local/tomcat mv apache-tomcat-9.0.16 /usr/local/tomca…

IDEA项目实践——Spring集成mybatis、spring当中的事务

系列文章目录 IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介 IDEWA项目实践——mybatis的一些基本原理以及案例 IDEA项目实践——动态SQL、关系映射、注解开发 IDEA项目实践——Spring框架简介&#xff0c;以及IOC注解 IDEA项目实践—…

python爬虫实战(1)——网站小说

整本小说的爬取保存 目标大致思路页面的爬取解析—XPath请求网页内容解析网页内容正文爬取与解析单个页面数据获取爬取所有页面 数据清洗 经过学习基础&#xff0c;我们学以致用一下子&#xff0c;爬取小说&#xff0c;注意这个小说本身是免费的哦&#xff0c;以后再进阶。 本次…

工作中的方法论总结

1、SMART SMART原则是目标管理的一种方法&#xff0c;通过有效地进行成员的组织与目标的制定和控制以达到更好的工作绩效。大到业务规划&#xff0c;小到个人项目开发计划都比较适用。 SMART的具体含义如下&#xff1a; S&#xff08;Specific&#xff09;&#xff1a;目标是确…

阿里发布财报,电商业务重回增长

KlipC报道&#xff1a;8月10日阿里巴巴集团发布了最新财报&#xff0c;据数据显示该公司一季度营收同比上涨14%&#xff0c;达2341.6亿元人民币&#xff0c;超市场预期。净利润为330亿元较去年同期增长63%达202.98亿元&#xff0c;财报发布后&#xff0c;阿里美股一度涨超5%&am…

动力节点|Spring6框架学习教程,从基础到手撕源码一套打通

Spring框架已广泛应用于诸多Java应用程序的开发中&#xff0c;它提供了很多解决方案及最佳实践&#xff0c;简化了Java应用程序的开发过程并加速了开发。 Spring6.0版本是下一个十年的新开端&#xff0c;动力节点老杜精心打造全新升级版Spring6教程&#xff0c;手把手教学&…

vue插槽slots

一、默认插槽&#xff1a; vue组件能够接收任意类型的 JavaScript 值作为 props&#xff0c;也可以为子组件传递一些模板片段&#xff0c;让子组件在它们的组件中渲染这些片段。 例如&#xff1a;有一个<FancyButton>组件 在父组件中引用 最终渲染出来的dom 插槽内容可…

Live800:客服中心数字化转型的5个关键点,你知道吗?

数字化转型的浪潮中&#xff0c;客服中心也不例外。传统的在线客服中心需要经历数字化转型&#xff0c;才能更好地适应用户需求&#xff0c;提高工作效率以及质量。然而&#xff0c;数字化转型并不仅仅是将传统客服系统搬到数字平台上&#xff0c;还要符合用户习惯和新技术趋势…

三、MySql表的操作

文章目录 一、创建表&#xff08;一&#xff09;语法&#xff1a;&#xff08;二&#xff09;说明&#xff1a; 二、创建表案例&#xff08;一&#xff09;代码&#xff1a;&#xff08;二&#xff09;说明&#xff1a; 三、查看表结构&#xff08;一&#xff09;语法&#xff…

产品经理如何突破职业瓶颈,杀出重围?

随着社会的进步和科技的发展&#xff0c;互联网行业从未停止过发展的脚步。而在这个充满机遇和挑战的赛道上&#xff0c;互联网产品经理的角色显得尤为重要。然而&#xff0c;随着互联网产品经理的数量逐年增加&#xff0c;内卷化现象也日益严重。那么&#xff0c;产品经理应该…

10个问题,带你重新认识smardaten企业级无代码

很多新客户在接触数睿数据&#xff0c;或者在初步认识smardaten企业级无代码的时候&#xff0c;大家更多地以为只是个普通的无代码工具。在交流过程中&#xff0c;大家也提出了很多疑惑&#xff1a; smardaten无代码平台包括哪些能力&#xff1f; 适合开发哪些应用&#xff1f…

鲁大师电动车智能化测评报告第二十一期:峰值功率20kW,九号E300P极速破圈

简介&#xff1a;第二十一期参与测评的电动车是九号E300P、雅迪冠能探索E10、绿源Moda7、台铃超能S塞北、新日幻影F9、小牛G400六款车型 鲁大师第二十一期智能化电动车测评排行榜数据来源于鲁大师智慧实验室&#xff0c;测评的车型均为市面上主流品牌的主流车型。截止目前&…

19 | 首尔自行车共享需求预测

文章目录 首尔自行车共享需求预测1. 问题陈述2. 数据描述3. 项目的业务用途是什么?4. 模型构建步骤5. 数据可视化1)热力图2)按季节分的租赁自行车数量3)假日和非假日租赁自行车数量4)太阳辐射与租赁自行车数量5)租赁自行车数量和一天的小时数6)特征重要性首尔自行车共享…

allure测试报告

使用pytest结合Allure进行测试报告生成的简单教程 allure测试报告 Allure基于Java开发&#xff0c;因此我们需要提前安装Java 8或以上版本的环境。 ◆安装allure-pytest插件在DOS窗口输入命令“pip3 install allure-pytest”&#xff0c;然后按“Enter”键。 下载安装Allure…

网站SSL安全证书是什么及其重要性

网站SSL安全证书具体来说是一个数字文件&#xff0c;是由受信任的数字证书颁发机构&#xff08;CA机构&#xff09;进行审核颁发的&#xff0c;其中包含CA发布的信息&#xff0c;该信息表明该网站已使用加密连接进行了安全保护。 网站SSL安全证书也被称为SSL证书、https证书和…

Stack的三种含义

学习编程的时候&#xff0c;经常会看到stack这个词&#xff0c;它的中文名字叫做"栈"。 理解这个概念&#xff0c;对于理解程序的运行至关重要。容易混淆的是&#xff0c;这个词其实有三种含义&#xff0c;适用于不同的场合&#xff0c;必须加以区分。 含义一&…

新手小白如何快速使用家用电脑远程访问摄像头【内网穿透】

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《高质量编程技巧》《cpolar》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 快速远程访问内网的摄像头前言具体操作步骤1. 打开“允许远程桌面”开关2. 建立TCP-IP隧道3. 获取生成的TCP-IP隧道…