Nginx服务器初学习 ,将之前写的前后端分离案例搭建到Nginx上

1.Nginx服务器初学习

Nginx 服务器: 并发高性能的 Web静态资源服务器 和 反向代理,负载均衡,动静分离 以及 IMAP/POP3/SMTP 代理服务器

  • 占有内存少,并发能力强;百度、京东、新浪、网易、腾讯、淘宝等都有用到nginx.

  • 这款服务器专为性能优化而开发,而性能是服务器最重要的考量,能经受高负载的考验,据报告能支持高达 50,000 个并发连接数。

  • Nginx服务器 不仅可实现反向代理负载均衡;还能可以作正向代理来实现上网功能。

  • 可加快网站的解析速度,减少服务器压力,加快解析速度。

下载网址http://nginx.org/en/download.html

关于代理服务器:

发起请求的客户端原始服务器端之间的一个中介服务器,正向代理可以隐藏客户端,反向代理可以隐藏原始服务器。

在这里插入图片描述

正向代理和反向代理理解

正向代理

用户已知目标服务器地址,
由于网络限制等原因,无法直接访问目标服务器。
需要先连接代理服务器,由代理服务器访问目标服务器

正向代理可以隐藏客户端;
服务器仅知道请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽/隐藏真实客户端信息

在这里插入图片描述

相当于不同的用户去访问汽车4S店

反向代理

反向代理对用户则是不可知的,反向代理隐藏了服务器的信息.

比如我们访问百度网站,百度的代理服务器对外的域名为 www.www.baidu.com ,用户不知道具体内部的服务器节点,实际上通过访问百度的代理服务器后,代理服务器会转发请求到 后台,找到其中一个服务器节点。

相当于你去4S店买车;但是你并不知道4S店联系了后面的哪些和合作厂家;但是最后4S能给你调到合适的车.

在这里插入图片描述

负载均衡

客户端发送多个请求到服务器,服务器处理请求,服务器处理请求后将结果返回客户端。

当请求并发量过大的时候;需要搭建服务器集群,增加服务器数量,
将原先请求单个服务器的情况改将请求分发到多个服务器上,将负载分发到多个服务器上.

负载均衡处理方法:

  • (1)轮询 调度:按时间顺序逐一分配到不同的后端服务器。
  • (2)加权轮询:配置 server 后面加个 weight=number,number 值越高,分配的概率越大。
  • (3)ip_hash :(IP哈希算法):对于每个请求,按访问 IP 的 进行hash 分配,来自同一 IP 的请求就固定访问一个固定的后台服务器。
  • (4)least_hash( 最少连接哈希算法): 哪个服务器的链接数少就发分发给哪个服务器。

在这里插入图片描述


基本使用

下载网址http://nginx.org/en/download.html

命令:

  • 启动nginx服务器 nginx
  • 刷新配置 nginx -s reload
  • 停止服务 nginx -s quit 或者 nginx -s stop

在这里插入图片描述

可以看一下这个放置前端页面的文件夹;有默认的文件
在这里插入图片描述

点击index.html;可看到内容

在这里插入图片描述

在当前安装目录输入 cmd命令

在这里插入图片描述

输入命令nginx,回车即可;

在这里插入图片描述

启动成功
浏览器页面访问http://127.0.0.1:80地址

在这里插入图片描述

在cmd命令窗口输入命令nginx -s quit 或者 nginx -s stop 即可停止服务

在这里插入图片描述

配置文件说明

在这里插入图片描述

  • 全局块:配置影响 nginx 全局的指令。一般有运行 nginx 服务器的用户组,
    nginx 进程 pid 存放路径,日志存放路径,配置文件引入,允许生成 worker pr
    ocess 数等。
  • events 块:配置影响 nginx 服务器或与用户的网络连接。有每个进程的最大
    连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,
    开启多个网络连接序列化等。
  • http 块:可以嵌套多个 server,配置代理,缓存,日志定义等绝大多数功能
    和第三方模块的配置。如文件引入,mime-type 定义,日志自定义,是否使用 s
    endfile 传输文件,连接超时时间,单连接请求数等。
  • server 块:配置虚拟主机的相关参数,一个 http 中可以有多个 server。
  • location 块:配置请求的路由,以及各种页面的处理情况。

2.将上次的案例搭建上去

将之前的管理员权限分配;然后对管理员进行增删改查操作处理的前后端分离案例;部署到nginx服务器上;

前端

首先要把端口问题都处理一下

找到写的前端文件 main.js
在这里插入图片描述

由于之前是在本地运行的,所以这个路径就固定了;
但是这次搭建到nginx之后,我会配置两个后端端口;这时若固定就有问题了;只能访问到固定的端口5277;

在这里插入图片描述

当然,后面这些异步请求的地址也都全部需要修改,加上前置路径/api/;

在这里插入图片描述

在这里插入图片描述

所有的请求都这样修改一下;

然后再去打包前端代码;

在HubildX的终端命令台中;对当前文件npm run build;

将打包后的文件全部放到nginx安装包的前端页面位置;

在这里插入图片描述

在这里插入图片描述

后端

首先在IDEA里面打包后端代码;

比如我打包一个端口为 5277

在这里插入图片描述

使用maven的打包命令;得到打包后的后端代码文件

在这里插入图片描述

在这里插入图片描述

复制出来,放到一个文件夹
在这里插入图片描述

同样地再打包一个端口为8888的

在这里插入图片描述

在这里插入图片描述


这时还需要在nginx的配置文件中,配置后端端口;
以及访问后端端口的规则;

在这里插入图片描述
配置后端服务地址;以及我这个项目访问/api/接口路径的读取配置;

注意:我这里的端口5277和8888就是上面打包后端代码时的端口;
然后这个weight就是权重优先级;由于nginx的负载均衡调度算法中有加权轮询规则;即weight大的收到请求的概率高;

upstream mytomcat{
        server localhost:5277 weight=1;
        server localhost:8888 weight=1;
}

#代理服务器地址;
location /api/  {
   proxy_pass http://mytomcat;
 }

在这里插入图片描述

启动,访问测试

cmd命令窗口启动后端代码服务
java -jar startspringboot-xiaozhi-5277.jar

java -jar startspringboot-xiaozhi-8888.jar

启动两个窗口

在这里插入图片描述

这时,在nginx安装的位置处;
使用cmd命令;先刷新一下服务器配置nginx -s reload

再去启动nginx

在这里插入图片描述

启动存放管理员头像图片的服务器

在这里插入图片描述

浏览器访问http://127.0.0.1/#/login;部署成功

注意请求的路径这里就会隐藏后端服务的端口;
而两个后端服务器;根据调度算法的规则;来接收请求;

在这里插入图片描述

部署完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小智RE0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值