第一部分 Nginx基础知识
-
Nginx到底是什么?
-
Nginx是一个高性能的Http和反向代理web服务器,核心特点是占内存少,并发能力强
-
-
Nginx又能做什么事情呢?(应用场景)
-
Http服务器(Web服务器)
-
性能非常高,非常注重效率,能经受高负载的考验。
-
-
反向代理服务器
-
正向代理
在浏览器中配置代理服务器的相关信息,通过代理服务器访问目标服网站,代理服务器收到目标网站的响应后,会把响应信息返回给浏览器
-
反向代理
浏览器发送请求到反向代理服务器(比如Nginx),由反响代理服务器选择原始服务器提供服务结果响应,最终再返回给客户端浏览器
-
-
负载均衡服务器
-
动静分离
-
-
Nginx的特点
-
跨平台:Nginx可以在大多数类unix操作系统上编译运行,而且也有Windows版本
-
Nginx的上手非常容易,配置也比较简单
-
高并发,性能好
-
稳定性也特别好,宕机概率很低
-
-
Nginx的安装
-
下载,上传软件,解压 下载地址:nginx news
-
安装Nginx依赖,pcre、openssl、gcc、zlib
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
-
编译、编译安装(完毕之后在/usr/local下会产生一个nginx目录)
cd nginx-1.18.0 ./configure && make && make install 进入sbin目录中,执行启动nginx命令 ./nginx
-
-
Nginx的主要命令
-
./nginx 启动 ./nginx -s stop 终止nginx ./nginx -s reload(重新加载nginx.conf配置文件)
-
第二部分 Nginx核心配置文件
Nginx的核心配置文件conf/nginx.conf包含三块内容:全局块、events块、http块
-
全局块
从配置文件开始到events块之间的内容,此处的配置文件影响nginx服务器整体的运行,比如worker进程的数量、错误日志的位置等。
# worker进程数量,通常设置为和cpu数量相等 worker_processes 1;
-
events块
events块主要影响Nginx服务器与用户的网络连接,比如worker_connections 1024,标识每个workderprocess支持的最大连接数为1024
events{ # 单个worker进程的最大连接数 worker_connections 1024; }
-
http块
http块是配置最频繁的部分,虚拟主机的配置、监听的端口、请求转发、反向代理、负载均衡等
http{ # 引入mime类型定义文件 include mime.types; default_type application/octet-stream; sendfile on; #连接超时时间 keepalive_time 65; server{ # 监听的端口 listen 8080; # 定义使用localhost访问 server_name localhost; #charset koi8-r; #默认请求 localhost / { root html; #默认的网站根目录位置 index index.html index.htm; #索引页,欢迎页 } } }
第三部分 Nginx应用场景之反向代理
-
需求一:
浏览器请求nginx(http://localhost:8888),ngxin将请求转发给了目标服务器,我们看到目标服务器的响应页面,在整个过程中目标服务器相当于客户端是不见的,服务器向外暴露的就是nginx的地址
-
需求二:
在需求一的基础上,目标服务器有两个,分别是8080,8081当访问http://localhost:8888/abc的时候,实际目标服务器是8080,当访问http://locahost:8888/def时,目标服务器是8081