nginx|Nginx 详解


文章目录

  • 一、Nginx是什么?
  • 二、如何安装Nginx
    • 1.安装所需插件
      • (1).安装gcc
      • (2).pcre、pcre-devel安装
      • (3).zlib安装
      • (4).安装openssl
    • 2.安装nginx
      • (1).下载安装包
      • (2).把压缩包解压到usr/local/java
      • (3).切换到cd /usr/local/java/nginx-1.9.9/下面
      • (4).切换到/usr/local/nginx安装目录
      • (5).配置nginx的配置文件nginx.conf文件,主要也就是端口
      • (6).启动nginx服务
      • (7).查看nginx服务是否启动成功
      • (8).访问自己的IP出现如下界面,说明安装成功啦!
    • 3 .相关配置Nginx服务
  • 三、Nginx作用
    • 1.Http代理,反向代理:
      • (1).什么是反向代理:代理服务器端
      • (2).作用
      • (3).反向代理配置
    • 2.负载均衡
      • (1).什么是负载均衡
      • (2).采用方式
      • (3).负载均衡配置
    • 3.动静分离
  • 四、Nginx的特点

一、Nginx是什么? Nginx 是一款轻量级的HTTP 服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的 IO 性能,时常用于服务端的反向代理负载均衡
二、如何安装Nginx 1.安装所需插件 (1).安装gcc
gcc -v#查看gcc版本 yum -y install gcc #安装gcc

(2).pcre、pcre-devel安装
【nginx|Nginx 详解】pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。
yum install -y pcre pcre-devel

(3).zlib安装
zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
yum install -y zlib zlib-devel

(4).安装openssl
openssl是web安全通信的基石
yum install -y openssl openssl-devel

2.安装nginx (1).下载安装包
wget http://nginx.org/download/nginx-1.9.9.tar.gz

(2).把压缩包解压到usr/local/java
tar -zxvf nginx-1.9.9.tar.gz -C /usr/local/java

(3).切换到cd /usr/local/java/nginx-1.9.9/下面
./configure make make install

(4).切换到/usr/local/nginx安装目录
cd /usr/local/nginx

(5).配置nginx的配置文件nginx.conf文件,主要也就是端口
cd /usr/local/nginx cd conf

nginx|Nginx 详解
文章图片

nginx|Nginx 详解
文章图片

(6).启动nginx服务
切换目录到/usr/local/nginx/sbin下面
nginx|Nginx 详解
文章图片

启动nginx
./nginx

(7).查看nginx服务是否启动成功
ps -ef | grep nginx

nginx|Nginx 详解
文章图片

(8).访问自己的IP出现如下界面,说明安装成功啦!
nginx|Nginx 详解
文章图片

3 .相关配置Nginx服务
sudo systemctl enable nginx # 设置开机启动 sudo service nginx start # 启动 nginx 服务 sudo service nginx stop # 停止 nginx 服务 sudo service nginx restart # 重启 nginx 服务 sudo service nginx reload # 重新加载配置,一般是在修改过 nginx 配置文件时使用。

三、Nginx作用 1.Http代理,反向代理: (1).什么是反向代理:代理服务器端
反向代理其实就类似你去找代购帮你买东西(浏览器或其他终端向nginx请求),你不用管他去哪里买,只要他帮你买到你想要的东西就行(浏览器或其他终端最终拿到了他想要的内容,但是具体从哪儿拿到的这个过程它并不知道)。
正向代理:代理客户端,正向代理最大的特点是客户端非常明确要访问的服务器地址。服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息
nginx|Nginx 详解
文章图片

(2).作用
(1)保障应用服务器的安全(增加一层代理,可以屏蔽危险攻击,更方便的控制权限)
(2)实现负载均衡
(3)实现跨域(最简单的跨域方式)
(3).反向代理配置
#1、新建/修改配置文件 sudo vi /etc/nginx/server/default.conf#2、配置示例 server {listen80; #监听80端口 server_nameken.io.local; #监听的域名 location / { #转发或处理 proxy_pass https://ken.io; } error_page500 502 503 504/50x.html; #错误页 location = /50x.html {root/usr/share/nginx/html; } }

2.负载均衡 (1).什么是负载均衡
客户端发送的、Nginx反向代理服务器接收到的请求数量,就是我们说的负载量。请求数量按照一定的规则进行分发到不同的服务器处理的规则,就是一种均衡规则。将服务器接收到的请求按照规则分发的过程,称为负载均衡。
(2).采用方式
轮询:权重为1
nginx|Nginx 详解
文章图片

加权轮询:依次递增
nginx|Nginx 详解
文章图片

iphash:对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端的ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
nginx|Nginx 详解
文章图片

(3).负载均衡配置
upstream serverswitch {server 127.0.0.1:80; server 127.0.0.1:81; } server {listen80; #监听80端口 server_nameken.io.local; #监听的域名 location / { #转发或处理 proxy_pass https://serverswitch; } error_page500 502 503 504/50x.html; #错误页 location = /50x.html {root/usr/share/nginx/html; } }

3.动静分离 静态请求直接从 nginx 服务器所设定的根目录路径去取对应的资源,动态请求转发给真实的后台(前面所说的应用服务器,如图中的Tomcat)去处理。动静资源做好拆分后,利用静态资源的特点做缓存操作,提高响应效率。
nginx|Nginx 详解
文章图片

好处:
1.api接口服务化:动静分离之后,后端应用更为服务化,只需要通过提供api接口即可,可以为多个功能模块甚至是多个平台的功能使用,可以有效的节省后端人力,更便于功能维护。
2.前后端开发并行:前后端只需要关心接口协议即可,各自的开发相互不干扰,并行开发,并行自测,可以有效的提高开发时间,也可以有些的减少联调时间
3.减轻后端服务器压力,提高静态资源访问速度:后端不用再将模板渲染为html返回给用户端,且静态服务器可以采用更为专业的技术提高静态资源的访问速度。
四、Nginx的特点 1.占有内存少、并发能力强,能支撑50000个并发连接数的响应。
2.扩展性好,第三方插件非常多。
3.具有很高的可靠性。

    推荐阅读