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配置文件详解

全局配置

nginx服务_第1张图片

work_processes 1; #工作进程也就是worker进程的数量,一般是配置成cpu数一致或者2倍。一般来说小网站设置成1,足够了。

event模块

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

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

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

http模块

nginx服务_第2张图片

 

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

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

keepalive_timeout 65; #65秒

gzip on #打开压缩模块

server模块

nginx服务_第3张图片

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

nginx服务_第4张图片

 

location模块匹配的是URI

location / #通用匹配

location = #精确匹配

location模块中

root 拼接,root指定的目录和location匹配的uri之间做的一个拼接,/opt/ky30 这两个路径都要真实存在,而且都是目录,并且,在uri目录里面要有web文件。

alias:匹配指定路径下的web文件

root后面有没有/无所谓 root /opt/

alias加了/,后面也必须有/,否则,匹配不到 alias /opt

nginx服务_第5张图片

 

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当中,写在全局配置。

你可能感兴趣的:(nginx,运维)