IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Nginx入门 -> 正文阅读

[系统运维]Nginx入门

概述

  • Nginx 是一款是由俄罗斯的程序设计师所开发高性能的 Web反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
  • 其特点是占有内存少,并发能力强(支持同时5万的访问量,tomcat只有几百),事实上 nginx 的并发能力在同类型的 网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、京东、新浪、 网易、腾讯、淘宝等。
  • Nginx 专为性能优化而开发,性能是服务器最重要的考量,实现上非常注重 效率,能经受高负载的考验,据报告能支持高达 50,000 个并发连接数。 在高连接并发的情况下,Nginx 是 Apache 服务器不错的替代品。
  • Nginx 不仅能做反向代理,实现负载均衡;还能可以作正向代理来进行上网等功能

代理服务器

  • 所谓代理服务器就是位于发起请求的客户端与原始服务器端之间的一台跳板服务器(类似于购车时不直接与厂家沟通,而是通过4S店的工作人员向厂家提车,厂家也不直接与客户沟通),正向代理可以隐藏客户端,反向代理可以隐藏原始服务器。

正向代理

  • 用户知道目标服务器地址,但由于网络限制等原因,无法直接访问。这时候需要 先连接代理服务器,然后再由代理服务器访问目标服务器。
    在这里插入图片描述

反向代理

在这里插入图片描述

  • 反向代理对用户则是不可知的,比如我们访问百度网站,百度的代理服务器对外的域名为 www.baidu.com ,具体内部的服务器节点我们不知道,现实中我们通过访问百度的代理服务器后,代理服务器给我们转发请求到他们 N 多的服务器节点中的一个给我们进行搜索后将结果返回。
  • 我们ping一下百度的地址
    在这里插入图片描述
  • 与浏览器中访问百度的服务器地址并不相同,可知并不是同一台服务器,百度后台有多台服务器.在这里插入图片描述

负载均衡

  • 客户端发送多个请求到服务器,服务器处理请求,有些可能要访问数据库,服务 器处理完毕后再将结果返回客户端。
  • 这种架构模式单一,适合并发请求少的情况,但并发量大的时候如何解决?
  • 此时想到服务器集群,增加服务器数量,然后将原先请求单个服务器的情况改为 将请求分发到多个服务器上,将负载分发到多个服务器上.

在这里插入图片描述

负载均衡的调度算法

  1. 轮询
    按时间顺序逐一分配到不同的后端服务器。
  2. 加权轮询
    可在配置的 server 后面加个 weight=number,number 值越高,分配的 概率越大。
  3. ip_hash
    每个请求按访问 IP 的 hash 分配,这样来自同一 IP 固定访问一个后台服务 器。
  4. least_hash
    最少链接数,哪个机器连接数少就发分发给哪个机器。

动静分离

  • Nginx 是一个静态资源服务器,为了加快网站的解析速度,可以把动态页面和静 态页面有不同的服务器来解析,减少服务器压力,加快解析速度。将 java 后端 程序部署在独立的服务器上,nginx 代理访问后端服务.
  • 实现动态请求与静态请求分离,实现资源分类

在这里插入图片描述

下载

地址:

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

在这里插入图片描述

windows安装

下载的是压缩文件
在这里插入图片描述
启动

  • 进入nginx的安装目录,启动cmd
    在这里插入图片描述
    输入命令nginx或点击nginx.exe启动
    在这里插入图片描述
    看到光标在闪没有报错,就是启动成功了
    启动后访问 http://localhost:80 (默认端口为80,可以在conf/nginx.conf中修改)

我将端口修改为了8088
在这里插入图片描述
显示如上图,说明nginx没有问题

命令

  • nginx 启动
  • nginx -s reload 重载配置文件
  • nginx -s quit 停止
  • nginx -s stop 停止

配置文件

nginx 文件结构

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

负载均衡配置实例

	upstream mytomcat{
		server localhost:9999 weight=1;
		server localhost:8888 weight=1;
	}
	
    server {
        listen       8088;
        server_name  localhost;
        
        location / {
            root   html;
            index  index.html index.htm;
        }
		
		location /api {
            proxy_pass http://mytomcat;
        }

在这里插入图片描述

部署java后端

打包两个了java后端项目,端口号分别为9999和8888
idea打包步骤:

  1. 修改端口,一个端口就是一个独立的程序
    在这里插入图片描述
    2.使用maven工具打包package
    在这里插入图片描述
    选择package
    在这里插入图片描述

在这里插入图片描述
打包好的两个jar文件
在这里插入图片描述
cmd 进入到存放jar的目录
输入命令

java -jar jar包名.jar
如
java -jar backserver9999.jar
java -jar backserver8888.jar

在这里插入图片描述

部署vue前端

nginx服务器是代理访问,vue项目中配置的跨域访问必须关掉
在这里插入图片描述
为了能够正常访问,须加上/api这级目录,我们在每个请求地址前都加一个/api//
将项目打包

  • 方式1:控制台命令 npm run build
  • 方式2:右击项目->外部命令->npm run build
    在这里插入图片描述

将dist目录中的所有文件复制到nginx安装目录中html文件夹里
(删除html中原来的文件)

在这里插入图片描述
启动nginx–命令nginx
在这里插入图片描述
可以看出基本是交替访问的,因为在配置中我们设置两个端口权重都是1,某一个服务器分配的权重越大,经它访问的概率越大

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:30:34  更:2022-01-03 16:31:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:47:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码