1.nginx概念
1.1nginx是什么?
学习任何一门知识之前,我们都需要明确自己学习的东西是什么,学来的目的是什么。而不是本着学的多就是好的思想进行学习。
Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/ 代理服务器。
在高连接并发的情况下,Nginx是Apache服务器不错的替代品。
nginx的特点在于占用内存小,并发能力强,nginx专门为性能优化而开发,性能是他最重要的考量。它最高能承受50000个并发连接数,远大于tomcat的250个。最重要的是,它几乎能做到7*24的工作承受。因此,在现如今的工作环境之中,nginx越来越成为企业及其大型公司的优选。
2. nginx作用
2.1反向代理
1)要学习反向代理,那么需要先理解什么是正向代理。
如果把局域网中的internet想象成一个巨大的资源库,则局域网中的客户端要访问internet,就需要通过一个代理服务器来访问,这种代理服务器就叫做正向代理。
2) 反向代理,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,在这个过程中,对于外部来说,反向代理服务器和目标服务器就是一个服务器,只是将反向代理服务器的地址暴露出来,隐藏了目标服务器的ip。
正向代理和反向代理的区别在于代理的对象不一样,正向代理的代理对象是客户端,反向代理的代理对象是服务端。
2.2负载均衡
对于大量的请求,一个服务器有事会显得拙荆见肘,这时,我们往往增加服务器的数量,将大量的请求分摊到多个服务器上,将负载分发到不同的服务器,就是负载均衡
2.3动静分离
为了加快网站的解析,将动态页面和静态页面由不同服务器来解析,加快解析速度。降低原来单个服务器的压力。
3.nginx的安装
4.nginx的命令
1)版本查看
nginx -v
nginx version: nginx/1.17.8
2)开启nginx
nginx或者service nginx start
3) 关闭nginx
nginx -s stop或 service nginx stop
4)重新加载nginx
nginx -s reload
这个主要用于当nginx的配置文件发生变化,但是你又不想要重启nginx的时候,就可以用上面的命令。(重启同样会将配置文件加载嗷!!)
5.nginx配置文件
位置:/usr/local/nginx/conf/nginx.conf(配置文件的位置并不固定,如果是yum安装,通常会在/etc/nginx/nginx.conf中)
nginx的配置文件分为三大块:全局块,events块,http块
5.1全局块
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
#以上统称为全局块,
其中worker_processe的数值越大,表明它的并发能力就越强。但是并不是随意配值的,而是受到硬件和设备的配置影响
error_log代表nginx的错误日志的存放位置
5.2 events块
主要影响nginx服务器和用户的网络连接
events {
worker_connections