一、Nginx基础
Nginx基础
一、什么是nginx
Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。特点是占有内存少,并发性能强。
二、基本概念
- 正向代理:局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务称为正向代理。
- 反向代理:反向代理其实就是客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器
- 获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器的地址,隐藏了真是服务器的IP地址。
- 负载均衡:单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
- 动静分离:为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。
三、nginx常用操作命令
使用nginx操作命令的前提条件,必须进入nginx的目录
cd /usr/local/nginx/sbin
- 查看 ngxin版本号:./nginx -v
- 启动 nginx:./nginx
- 关闭 nginx:./nginx -s stop
- 重新加载 nginx:./ngxin -s reload
四、ngxin配置文件
1、配置文件的路径
cd /usr/local/nginx/conf/nginx.conf
2、nginx配置文件的组成
... #全局块
events { #events块
...
}
http #http块
{
... #http全局块
server #server块
{
... #server全局块
location [PATTERN] #location块
{
...
}
location [PATTERN]
{
...
}
}
server
{
...
}
... #http全局块
}
(1)全局块
从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令,主要包括配置运行nginx服务器用户(组)、允许生成的worker process数,进程PID存放路径、日志存放路径和类型以及配置文件的引入等。
worker_processes 1;
这是nginx服务器开发处理服务的关键配置,worker_processes值越大,可以支持的并发处理器也最多,但是会受到硬件、软件等设备的制约。
(2)events块
events块涉及的指令主要影响nginx服务器与用户的网络连接,常用的设置包括是否开启对多work process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个work process可以同时支持的最大连接数等
events {
worker_connections 1024;
}
上述例子就表示每个work process支持的最大连接数为1024。
这部分配置对nginx的性能影响较大,在实际中应该灵活配置。
(3)http块
这是nginx服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。
需要注意的是:http块也可以包括http全局块、server块
①http全局块:http全局快的配置指令包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单连接请求上限数等
②server块:这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。每个http块可以包含多个server块,每个server块就相当于一台虚拟主机。并且server块也分为全局server块,以及可以同时包含多个location块