Nginx负载均衡反向代理服务器,究竟是什么,如何用?

Nginx是什么!?

Nginx是一款web反向代理服务器软件

他的特点是: 轻量级!   高性能!   可以瞬间重启!

 

Nginx能干什么!?

1.0 Nginx可以反向代理 静态资源  作为静态资源服务器

 

2.0 Nginx可以反向代理 不同的访问路径,让这些访问路径对外 提供统一规范的 入口  (这种形式也可以用来结果浏览器跨域问题)

 

3.0 Nginx可以反向代理 tomcat服务器集群,并且在代理tomcat们的时候对他们进行 服务端负载均衡

 

4.0 Nginx加载插件后 可以代理Lua脚本,当接收某个url请求时可以执行Lua脚本

 

 

Nginx怎么操作!?

首先看一下 Nginx 安装 好后的 目录结构

这个是Windows版的 目录结构如下                这个是Linux版的 目录结构如下

                  

 

以下讲解是基于Linux版的 

在sbin目录内 可以 操作 Nginx 启动 停止  重启

启动
./nginx
停止
./nginx -s stop
重启
./nginx -s reload

 

查看服务状态
ps -ef | grep nginx

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

1.0 利用Nginx 发布静态资源 

I

将静态资源 安放在 Linux中的某个目录下, 比如说  我把我要发布的静态资源 放在 这个 /root/ng4do    目录下,

可以让认为 ng4do  是一个web项目

    

这里的重点是   这个项目是 ng4do   相对于这个项目来说!!!! 注意是相对于这个项目来说  项目的根目录是 /root/ng4do

 

II

修改 Nginx 的 配置文件   在nginx 安装目录下 conf 目录内 

找到nginx.conf   配置文件 

 

nginx.conf.default  是对nginx.conf文件的备份,就是怕你 经常改动 nginx.conf 文件后    不知道了 nginx.conf   原本最初的 样子

vi nginx.conf     修改这个配置文件

找到 server{

    listen        80;

    .......

}

这里

此图是尚未做修改的 状态

 

 

在server {里面  替换  为如下内容}

location / {
    root   /root/ng4do;      #左边的 root  代表 声明 此处是根目录   右边 /root/ng4do     是项目的根目录
    index /root/ng4do/day01.html;   #左边声明 默认页是这个页面 
}

修改后是这个样子

vi编辑文件是Linux基本操作,编辑Linux文件的基本操作,在此不做赘述;

 

还有一个主意配置文件要改的地方是 第一行  user  root;

 

不然访问报403 说没有权限访问

 

配置文件改好后,

重启Nginx即可

 

我静态资源的目录结构是这样

 

url 访问 这个地址就可以访问到静态资源

http://58.87.122.88/day01/day01.html 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

 

1.5 利用Nginx 发布  多个  静态资源  (多个静态资源 使用不同的端口号)

前言 : 在上文中,已经发布了一个 静态资源 端口号 是80 资源内容放在 /root/ng4do   目录下

   现在我们 发布第二个 资源 端口号是81

 

I

先把静态资源放置在 某个目录下,本文中是 放在/root/ng4dy   目录下

          

II

更改nginx.conf配置文件 

新增一个

server{

    listen        81;

    .......

}

配置文件改好后是这个样子的

 

III

重启Nginx 服务器

 

如此完成

我们试着访问一下   http://58.87.122.88:81/day06/day06.html               这个81端口的 静态资源也发布好了

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

2.0 提供统一的 端口,  在这个端口上可以接受 不同的rul请求,

      根据 不同 的url 路径   路由到 与之对应的 资源上

I

在上文基础上,我们已经发布了 两个 静态资源  端口号 分别是80   与   81

更改nginx.conf配置文件

增加如下内容

server {
  listen 88;        #对外提供一个端口88的 服务
  server_name daili;   #取名 代理

  location / {

    if ($uri = /do) { rewrite /do http://$host:80/day01/day01.html; }   #如果访问的url是 http://58.87.122.88:88/do   则路由到  80 端口 那个静态资源上
    if ($uri = /dy) { rewrite /dy http://$host:81/day04/day04.html; }   #如果访问的url是 http://58.87.122.88:88/dy   则路由到  81 端口 那个静态资源上

    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
      }

    }

更改号的配置文件是这个样子

2.5 Nginx路由tomcat动态资源一样可以

在我的服务器里同时还在跑一个tomcat服务器,这个对外提供的访问端口是   http://58.87.122.88:6868/

我把它们给定一个同一的入口,改配置文件如下

 

我访问这个 http://58.87.122.88:88/tomcat  就可以路由到我的tomcat服务器 上去

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

3.0 Nginx 对tomcat集群 提供负载均衡

请移步>>>>>

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

 

4.0 Nginx 代理Lua脚本 执行功能

请移步>>>>>

posted on 2021-01-29 14:38  Code2020  阅读(158)  评论(0编辑  收藏  举报