1.什么是nginx
nginx是一个高性能的HTTP和反向代理web服务器,优秀的高并发性能,占用内存少,使它成为现在几乎所有项目部署都会采用的服务器,对于nginx来说,它对于高并发请求是专业的。所以如果想要自己技术有所提升,nginx当然是你可以吹一吹的技术啦!下面就总结一下nginx里常用的理论和部署配置,可能会分几个系列去写,浓缩的都是精华,发车啦
1.1选择nginx的理由
·官方测试nginx能够支撑5万并发连接,在世纪生产环境中可以支撑2~4万并发连接数,而且内存,CPU消耗非常低,稳定运行,这得益于nginx使用了epoll和kqueue网络I/O模型,6台nginx web server服务器可以支撑2500万PV的分类信息网站,系统平均负载1~4,CPU使用率为20%~40%
·nginx支持热部署,在不间断服务的情况下,对软件版本进行升级
·nginx是开源软件,成本低廉,可以免费使用,并可以用于商业用途
2.正向代理和反向代理
要了解web服务器,要搞懂两个概念,正向代理和反向代理,正向代理就是你想访问国外一些羞羞的网站,你又不能直接访问,你就可以在国外搭一台自己的服务器,通过这台服务器做跳板,再去访问国外网站,而反向代理,比如你在国内任何地方访问百度,都能很快的访问到,你以为你直接访问了百度的服务器,其实不是,你是访问了百度在各地的反向代理服务器,从而达到快速访问的,主要区别是一个你知道你访问了跳板服务器,一个是你不知道你访问了跳板服务器,这个跳板服务器就是反向代理服务器
3.什么是负载均衡
当一个项目随着用户数不断增加,并发数越来越大,假如一台服务器只能支撑1万用户的并发量,现在有十万用户的并发量,怎么办呢?再变出10台服务器不就可以解决了嘛,而这10台服务器怎么分配用户请求量呢,这就需要一台反向代理服务器作为管理者,去给这十台服务器分发请求,这样就可以支撑10万的并发请求,这个过程就叫负载均衡
4.什么是动静分离
为了加快网站的解析速度,可以把静态页面和动态页面分给不同的服务 器去加载解析,加快解析速度,降低单台服务器的压力
5.nginx操作常用命令
1 使用nginx操作命令前提条件:必须进入nginx的目录
/usr/local/nginx/sbin
2 查看nginx版本号
./nginx -v
3 启动nginx
./nginx
4 关闭nginx
./nginx -s stop
5 重新加载nginx
./nginx -s reload
6.nginx配置文件,nginx的各种操作,只需要更改nginx的配置文件就可以了,所以玩转nginx的配置文件,就玩转nginx了
1. 配置文件的位置
/usr/local/nginx/conf/nginx.conf
7.nginx配置文件组成,nginx配置文件有三部分组成
1 第一部分全局块
从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器
整体运行的配置指令,主要包括配置运行Nginx服务器的用户,允许生成的
worker process 数,进程PID存放路径,日志存放路径和类型以及配置
文件的引入等
worker_processes 1;
这是nginx服务器并发处理服务的关键配置,值越大,可以支持的并发数越多
2 第二部分 events块
events块涉及的指令主要影响Nginx服务器与用户的网路连接,支持最大连接
数为1024
3 第三部分 http块
http全局块配置的指令包括文件引入,日志自定义,连接超时时间,单链接请求
上限等,是nginx中配置最频繁的地方
http块又包含http全局块,server块