Nginx网站服务 2023/8/4 (笔记)

本文介绍了Nginx的特性,如稳定性高、资源消耗低,以及其主要功能,包括静态文件服务、反向代理、处理动态内容、SSL/TLS加密、虚拟主机、URL重定向和缓存。讲解了Nginx如何实现高并发,以及安装步骤和配置文件的修改。还提到了nginx配置文件中的events、http、server和location块的作用,以及如何进行访问统计、基于用户名和密码的访问控制以及基于IP地址的访问规则设置。
摘要由CSDN通过智能技术生成

国内主流nginx:

国外主要还是apache:
nginx:是一个高性能,轻量级的web服务软件。

特点:1、稳定性高。(没有apache稳定)

2、系统资源消耗较低。 (处理http请求的并发能力非常高,单台物理服务器可以处理30000-50000个并发请求。)

稳定:一般在企业中。为了保持服务器稳定,并发量的设置在20000个左右。占用内存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自带缓存功能。下图解:

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

nginx的主要应用场景:

1、静态服务

2、反向代理,负载均衡

3、★缓存服务

4、动态服务

nginx是如何实现高并发的?

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

2、nginx也是一个master进程控制多个work进程。master负责收集和分发请求,work是实际执行者。每一个请求进来,master就会拉起一个work进程处理请求。同时master进程也负责监控worker的状态,worker的数量和cpu要一致或者是两倍。

worker处理请求的过程中,只受内存大小的限制。所以可以处理多个请求,再加上nginx本身就是轻量级的服务,处理请求时占用的内存本身就很少,所以可以起到大并发处理的能力。

二者相互依赖,相互补充。

安装nginx

首先关闭防火墙和安全机制

首先安装依赖环境

 创建程序用户

 然后拖入压缩包解压,并且进入解压后的源码包操作

 输入指令进行编译

 

 然后安装

 更改权限

 然后cd到目录

 

 把nginx可执行的二进制文件添加到系统的默认目录下,让系统可以识别到nginx操作命令

 

 

因为文件内容指定run目录下的nginx.pid,所以要在nginx目录下创建run目录

创建完之后要先备份然后更改配置文件

 配置文件只要修改指定pid即可。取消注释

因为之前指定了pid号所有要更改路径

 更改保存完之后

 到此就完成了nginx服务的安装(可以用网页输入虚拟机IP进行访问测试)

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

nginx -v查看nginx的版本号。

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

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

nginx -s stop

nginx -s start

nginx-s reload

信号符:
信号符结合kll命令:                                             kill的主要作用是传递信号
kill -USR1 pid号 #日志分割

kill -s HUP pid号 #只要是kill,只能跟pid号,重新加载

killall -s HUP nginx #可以跟服务名,也可以用pid号

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

kill -s WINCH pid号 #优雅的结束worker,直到请求完成,才会结束worker进程

yum安装必须要epel源
yum install -y epel-release
yum install nginx -y

今天的重点

nginx配置文件也就是nginx.conf

 

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

 这个最大连接数可以修改但是没用。ulimit -a可以查看nginx的默认连接数

 修改linux服务器的最大打开数量;

临时修改

永久修改 

 最后一行插入

 *:代表所有用户

soft软限制

hard硬限制

保存退出即可

不过需要reboot重启之后才能生效

七层可以写在http当中,但是四层不可以

 

 端口号可以在这里改

location是一个非常重要的块

location 模块当中
root 拼接,root指定的目录和location匹配的uri之间做的一个拼接,/opt/ky30/ 这俩个路径都真实存在,而且都是目录,并且,再uri目录里面要有web文件。
alias:匹配指定路劲下的web文件。
/root后面有没有/无所谓,加不加都可以,alias加了/,后面也必须有/,负责匹配不到。

 root标签可以使用重定向

alias不可以设置重定向

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

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

http:主要模块,配置代理,缓存,虚拟主机,方向代理,只能是http的请求才可以写http模块中。upstream:反向代理指定服务器的命令(在http模块中)

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

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

porxy_pass反向代理

upstream:。七层,基于ip和端口,走http协议,所以只能在http模块中

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

实验:1访问状态统计

重新复制一个location模块模仿截图操作

 配置完之后重启服务然后网页搜寻虚拟机IP地址加上status就会得到访问统计的页面

 1:已处理的连接数   1:表示三次握手的数量   1:表示已请求的连接数

实验2:基于用户名和密码的访问控制

安装工具

 创建用户输入密码

 更改属组,更改权限

 更改配置文件

 重启服务

即可

实验3:基于ip地址的访问规则

 直接在location模块下添加deny和对应的ip地址即可

指定ip地址拒绝访问

此后实验

3.20.30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值