Nginx服务笔记

2022-07-03 09:38:36 浏览数 (1)

Nginx是由俄罗斯第二大访问网站公司于2004年开发的一款高效的web服务器和反向代理服务器开源软件。它相比于apache有占用资源少,并发量大,轻量级等优点。

工作模式:  单进程模式和多进程模式。

1:单进程模式,Nginx启动运行两个进程,一个以root身份运行,一个以指定用户身份运行。后一个进程处理用户的请求,并且是单线程的工作方式。

2:多进程模式,启动运行多个进程,一个以root身份运行,其他以指定用户身份运行,并且每个进程都有多个线程。

Nginx的模块分为三大类: Handlers模块 Filter模块和Proxy模块.Nginx内核模块非常轻量级,主要用来处理极简单的工作,内核将请求交给其他模块处理。Nignx所有的模块都静态编译,在启动时自动加载。而apache则是在配置文件中指定需要加载的模块,在处理相应的请求时再将对应的模块加载。

Nginx单线程仍然比apache多进程多线程处理请求快的原理:首先,apache处理请求时为一个线程对应一个请求,对应比为1:1,这样当请求量非常大时,基本上内存资源全部被占用,当客户端网络带宽受限时,服务器会非常的慢。而Nginx采用的是事件驱动模型,即将请求分为阻塞型请求和非阻塞型请求,主线程只处理非阻塞型请求。当遇到阻塞型请求时,使用epoll函数将该请求转移。这样做的好处是主线程可以一直处理响应快的请求,使服务器处理请求的速度大大提高。

Nginx可以用来做负载均衡。通过指令upstream{}在主配置文件中设置。负载均衡的后台服务器调度算法有:

轮询调度:即按分发请求的时间先后来对请求进行转发。

wigth权值调度:按照各个服务器设置的权值进行请求分发。

Ip_hash基于IP地址的hash函数调度:将每个Ip地址求hash函数值对应相应的服务器来对请求进行分发。

url_hash基于url地址的hash函数调度:将url求hash函数对应服务器对请求进行分发。

Nginx主配置文件的指令:

event{ } 主要设置工作模式

http{ } 对Nginx进行全局设置。

Server{} 对具体的服务器进行设置

location{} 对相应的url进行细粒度配置。

安装Nginx:

下载Pcre软件包,nginx软件包和Md5软件包。

解压pcre库和md5库. 解压nginx包 在configure配置时将解压的目录在配置参数中指定。

make  && make install.   

0 人点赞