目录
什么是nginx?
1、nginx的主要功能:
2、nginx的工作中应用场景:
2.1、nginx的配置文件:
3、配置文件:
3.1、root和alias:指定工作目录的区别:
4、实现访问状态统计:
nginx网站服务:nginx是一款高性能而且轻量级的web服务软件
提供静态页面服务,纯文本格式的文件,一般都是以.html.html格式结尾的文件
稳定性一般(nginx的bug很多,更新迭代很快)
httpd阿帕奇在国内用的比较少,国外主要还是他
nginx开源(免费)
阿里就是基于nginx二次开发:tengine
对于系统的资源消耗非常低,http协议(单台物理服务器可以支撑并发量30000-50000台,在工作中一般设为20000个左右,保持服务器稳定)
1、处理静态页面,可以直接提供静态页面的文件服务。html,图片,动画也可以,能够高效的处理并响应静态页面的请求(静态页面)
2、反向代理,可以通过反向代理实现负载均衡和高可用
3、处理动态请求,nginx是把动态请求转发到后端服务器,由专门处理动态请求的服务器进行处理,然后动态请求处理完之后,还是nginx来响应给客户端
4、支持加密的http协议,https
5、支持虚拟主机
6、支持url的重定向功能,页面跳转
7、nginx自带缓存机制,可以缓存静态页面的内容,减轻后端服务器的压力
8、nginx自带日志记录,访问日志(哪些主机访问了本机的nginx服务),报错日志(1、访问失败的记录,2、配置文件错误,3、nginx启动失败的记录)
9、可以支持模块扩展,可以加载不同模块和自定义配置
10、低内存消耗:10000个keep-alive连接保持,只占3M不到的内存
11、支持热部署,不停机更新配置文件,升级版本
1、静态页面服务
2、转发动态请求
3、反向代理,负载均衡
4、缓存服务
5、连接保持和会话保持
conf:nginx的配置文件,所有的配置文件都在该目录中,nginx.conf
html:保存的是nginx的web文件,也就是工作目录,可以更改,50x的web文件是默认的报错展示界面
logs:日志文件,位置也可以改
sbin:nginx的二进制启动的脚本文件
nginx -t:检测配置文件语法和配置项是否正确
ExecReload=/bin/kill -s HUP. $MAINPID
kill -s HUP $MAINPID
HUP:重新启动
ExecStop=/bin/kill -s TERM$MAINPID
kill -s TERM $MAINPID
TERM:关闭服务
nginx -t:检测配置文件是否正确
nginx -v:显示nginx的版本
nginx-V:即显示版本有显示配置项
nginx -signal:向nginx的主程序发送信号(stop restart reload)
yum安装:编译安装和yum不要同时使用,两个服务不要既yum安装又编译安装,默认系统识别是yum安装
yum -y install epel-release
yum -y install nginx
nginx.conf配置文件当中的内容:
soft nproc 65535
hard nproc 65535
soft nofile 65535
hard nofile 65535
全局模块:主要是用户和工作进程
events模块:配置连接数
http模块:代理地址,日志,虚拟主机等等都在http
一个http模块中,可以有多个server模块,server模块只能在http模块中
server模块:指定服务器,监听IP地址:端口
locatoin模块:匹配URI
location模块只能写在server模块当中,一个server模块可以有多个location(匹配工作目录)
root是拼接
lopt/html/donghua/index.html
alias是精确指定:
/test URI
/opt/htm/test;
root可以在server块中,但是alias只能在location里
alias 匹配的uri是/必须要以/结尾。root不需要。
Active connections: 1 #表示当前活动的连接数 三个数字:已经处理的连接数,成功tcp握手次数 已处理的请求数
reading: 表示当前正在读取客户端请求的连接数。服务器正在从客户端读取数据。
writing: 表示服务器正在将响应的数据发送给客户端
waiting: 有连接处于空闲状态。等待新的连接