1、定义:高性能,轻量级的web服务软件
(1)高性能:对http并发连接的处理能力很高,单台物理服务器可以支持30000-50000个并发请求(在实际操作中,为了维护服务器的稳定,一般设置在20000个左右)
(2)轻量级:nginx软件很小,安装所需的空间也很小
2、特点:稳定性强,对系统资源消耗低
3、nginx的主要功能
(1)处理静态网页:html、htm、图像
(2)支持反向代理(负载均衡)。负载均衡依靠算法实现
(3)处理动态内容
(4)虚拟主机:一个nginx可以配置多个虚拟主机,每一个虚拟主机都可以作为一个域名和站点,每个虚拟主机都可以拥有独立的配置和资源(可以配置多个网站)
(5)URL重定向:可以对URL的请求进行修改和重定向
(6)缓存机制,可以缓存静态文件和动态内容
(7)自带日志记录(主要是服务日志,包括访问日志和报错日志;而控制日志还是在/var/log/messages中)
(8)代理服务器:通过代理可以访问其他的后端服务器
useradd -M -s /sbin/nologin nginx
1、conf:保存nginx的所有配置文件
(1)nginx.conf:nginx的主配置文件
2、html:保存nginx的web文件,包括.html结尾的文件、图片
(1)50x.html:nginx默认的报错提示页面
3、logs:保存日志的目录(路径可以改)
(1)access.log:记录的是访问日志记录
(2)error.log:记录的是报错日志,403,404,500
4、sbin:保存nginx的二进制的启动脚本
-t:检测nginx配置文件以及配置文件语法是否正确
-v:显示版本
-V:显示版本和当前nginx支持的模块
-s stop/restart/reload:给nginx的主程序发送信号,不能开启nginx服务
(一)全局块:全局配置,对所有用户生效
(二)events模块:配置影响Nginx服务器与用户的网络连接(配置并发数)
(三)http模块(核心):配置代理、缓存、日志、虚拟主机和第三方模块
(四)server模块:配置虚拟主机的设置(在一个http模块中可以有多个server)
(五)location模块:location模块只能配置在server模块当中,匹配uri
一个server模块当中可以有多个location
——nginx的功能模块
1、proxy:代理功能,核心功能模块之一,配置反向代理的功能
语法:proxy_pass 指定(只能定义在location模块中)
2、headers:处理请求和头部的响应信息,主要用于获取客户端的真实ip
3、upstream:支持七层反向代理模块,只能配置在http模块中,或者stream模块中(不属于server和location模块)
4、stream:四层反向代理模块(不能写在http模块中,只能写在全局配置中)
(五)vim /usr/local/nginx/conf/nginx.conf
——全局配置
修改并发连接数,至vim /etc/security/limits.conf:限制打开文件个数(重启生效)
——http模块
——server模块
——location模块
/ :表示nginx的默认家目录:/usr/local/nginx/html
/test;表示/usr/local/nginx/html/test
root:拼接,默认路径和URI路径拼接
alias:必须是完整路径
(四)统计nginx的访问状态
Active connection:2 #表示当前活动的连接数
server accepts #已经处理的连接数
handled #成功的tcp握手次数
requests #已经处理的请求数
reading:0 #服务端正在从客户端读取数据,正在读取客户端请求的连接数
writing:1 #服务端正在将响应数据发给客户端,正在向客户端写入响应的连接数
waiting:1 #表示有连接处于空闲状态,当前等待客户端请求的连接数。time_wait
五、配置nginx的虚拟主机
(一)基于域名的虚拟主机
1、配置nginx
2、配置工作目录
3、用域名来访问必须做映射(一个主机可以映射多个网站)
4、在虚拟机中访问测试
(二)基于ip的虚拟主机
1、添加虚拟网卡
2、配置nginx
3、在浏览器查看
(三)基于端口的虚拟主机
1、修改端口号
2、测试
(四)基于客户端(ip地址)的访问控制
1、设置nginx
2、测试