nginx的安装和核心功能

nginx

一、nginx的安装

1、安装nginx需要的依赖环境

任意文件下

  • yum install -y gcc-c++
  • yum install -y pcre pcre-devel
  • yum install -y zlib zlib-devel
  • yum install -y openssl openssl-devel

2、下载nginx

http://nginx.org/en/download.html

3、把下载好的nginx放入linux系统

  1. 创建一个自己存放的软件目录,一般目录为/usr/soft/
  2. 把下载好的nginx拖入软件文件下

在这里插入图片描述

4、创建一个目录作为nginx的安装目录

mkdir /usr/soft/nginx

5、解压nginx源码文件

tar -zxvf nginx-1.18.0

6、进入解压后的目录

cd nginx-1.18.0

7、指定nginx安装的目录

./configure --perfix=/usr/soft/nginx

8、编译(当前文件下)

make

9、安装

make install

10、查看安装nginx的目录中的内容

ls -l /usr/soft/nginx

由于我已安装过了这里多了几个

在这里插入图片描述

11、启动nginx

  • sbin/nginx 启动nginx
  • sbin/nginx -s stop 关闭 nginx
  • sbin/nginx -s reload 重新加载nginx配置

12、window浏览器访问nginx代理服务器

http://ip地址:80

若出现欢迎界面则配置成功

在这里插入图片描述

二、nginx的核心功能

1、nginx的配置文件介绍

(1)进入nginx目录下的conf文件

在这里插入图片描述

(2)进入配置文件nginx.conf

vi nginx.conf

在这里插入图片描述

注意:

若修改了nginx的配置文件,必须重新加载配置文件

  • 命令:./nginx -s reload

一个nginx可以对应多个server

2、反向代理

(1)正向代理
正向代理: 代理的客户端,对于服务器来说不知道真实的客户。
我们常说的代理也就是指正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求.
举例:
	拿借钱打个比方,A想向C借钱,但是C不认识A所以不借给他,然后A就通过B向C借钱,B借到钱之后再转交给A,在这个过程中B就扮演了一个正向代理的角色,这个过程中,真正借钱的人是谁,C是不知道的~
(2)反向代理
反向代理隐藏了真实的服务端,对于客户来说不知道访问的是哪台服务器。
举例:
	还用借钱的例子,A想向C借钱,然后C借给他了,但是实际上这个钱可能C向B借的~至于钱到底是谁的,A是不知道的。
这里的C扮演着一个反向代理的角色,客户不知道真正提供服务的人是谁。

在这里插入图片描述

(3)实例

将准备的springboot项目jar包放入linux系统中

在这里插入图片描述

运行springboot项目

  • java -jar qy165-demo01.jar

配置nginx来代理上面的springboot真实项目服务。

在这里插入图片描述

重新加载nginx配置文件

  • …/sbin/nginx -s reload

浏览器访问nginx

在这里插入图片描述

2、负载均衡

负载均衡:多个请求访问代理服务器时,代理服务器将收到的多个请求,默认适用轮询策略进行平均的转发给真实服务器。也可通过配置来修改分配策略。

实例

准备两个真实服务器

在这里插入图片描述

nginx重新加载配置文件

  • ./nginx - s reload

重新访问上方的springboot项目

在这里插入图片描述

负载均衡策略

负载均衡策略共三种:

  1. 轮询策略(默认):平均分配;
  2. 权重策略:真实服务器的配置不同,被访问的频率不同。在这里插入图片描述
  3. ip_hash:根据客户端的ip分配相应真实服务器。在这里插入图片描述

3、动静分离(了解)

把静态资源【css,js,img】交于nginx来处理,而动态资源[接口,jsp]还是有真实服务器处理

好处: 当修改静态资源时,无需对每个真实服务器的静态资源做修改,只需要修改nginx一处的静态资源。

在这里插入图片描述

在这里插入图片描述

4、nginx的高可用

高可用:提供一个虚拟ip连接两个nginx代理服务器,当主节点代理服务器宕机时,会自动连接到从节点代理服务器,从而保证项目的持续运行。

(1)高可用原理:

​ nginx的实现需要借助其他工具(keepalived)来实现 。在keepalived中配置一个 虚拟IP(VIP),同时keepalived会定时检查主服务器的工作状态(通用脚本实现)。在主服务器正常工作时,VIP就会映射到主服务器的IP,此时,虚拟IP对应的物理地址和主服务器IP对应的物理地址是相同的,所以访问虚拟IP即访问主服务器。当主服务器失效时,脚本就会监测到,从而根据预先的配置,找到优先级最高的备用服务器,并将虚拟IP映射到该备用服务器ip,此时,这两个ip对应的物理地址是相同的。在主服务器恢复正常时,又会被检测到,又会自动切换到主服务器。这样就实现了nginx的高可用。

在这里插入图片描述

(2)为什么适用nginx高可用:

因为nginx作为反向代理服务器时,有可能出现宕机的情况,而由于其方向代理的特性,就会导致其服务器(tomcat等)无法被访问,这样项目就停止工作了。但是使用了高可用后,就可以避免这种现象出现。

(3)实例
  1. 准备两台nginx服务器(必须安装了nginx)

  2. 修改两台nginx的主页面

    vi /usr/soft/nginx/html/index.html

    在这里插入图片描述

  1. 需要在每个nginx服务器上安装keepalived
yum install keepalived 		安装keepalived
rpm -q -a keepalived 		检查是否安装了keepalived

默认安装路径为:/etc/keepalived

  1. 修改keepalived的配置文件内容

    • 主节点代理服务器(端口号:192.168.223.128)
      -在这里插入图片描述
  • 从节点代理服务器(端口号:192.168.223.133)
  • 在这里插入图片描述

注意:第二十五行的数字修改为90;要比主节点小

  1. 放置nginx_check.sh文件到/usr/local/scr/

链接:https://pan.baidu.com/s/1KM6mAB1hbr5HMMwcJI4mBw
提取码:1234

  1. 启动服务

    • 启动keepalived

      • systemctl start keepalived.service
    • 启动nginx服务

      • nginx/sbin文件下
      • ./nginx

    注意:两台都要启动

  2. 访问虚拟IP

  1. 关闭主节点nginx进行测试

    /usr/soft/nginx/sbin/nginx -s stop

    systemctl stop keepalived.service

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值