高性能HTTP和反向代理Web服务器 - Nginx
创始人
2024-02-24 09:45:25
0

Nginx

      • 一、安装
        • 1.1.Windows安装
        • 1.2.Linux安装
        • 1.3.常用命令
      • 二、动静分离
      • 三、反向代理
        • 3.1.正向代理
        • 3.2.反向代理
      • 四、负载均衡
        • 4.1.轮询
        • 4.2.加权轮询
        • 4.3.Ip hash
      • 五、限流
      • 六、缓存
      • 七、黑白名单

Nginx是一个高性能的HTTP服务器反向代理的web服务器,同时也提供IMAP,POP3,SMTP服务
特点:占用内存少,并发能力强,安装运行维护简单

一、安装

1.1.Windows安装

nginx/Windows-1.18.0,可以选择下载Stable version(稳定版本)
解压即可使用:注意解压目录不要带有中文
配置文件:conf/nginx.conf
运行访问:在安装目录cmd打开命令窗口,执行nginx.exe命令,浏览器输入http://localhost/访问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.2.Linux安装

nginx/Windows-1.18.0,下载Stable version(稳定版本)
将下载好的文件上传到linux服务器上,这里选择使用虚拟机Vmware+centos7,上传工具使用finalshell

在这里插入图片描述

ls :查看nginx-linux-1.18.0.tar.gz是否上传成功
tar -zxvf nginx-linux-1.18.0.tar.gz:解压文件
cd nginx-linux-1.18.0:进入文件夹
./configure:执行配置文件
make:编译
如果在make时遇到“make: *** 没有规则可以创建“default”需要的目标“build”。 停止。”问题,那你大概率使用的不是root用户,要么换root用户,要么使用普通用户执行以下命令
yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
执行完命令后再次执行./configure和make命令
make install
whereis nginx:查看nginx所在目录
cd /usr/local/nginx:进入nginx目录
ls -l:会看见一个sbin,执行文件放在里面
cd sbin/:进入sbin
./nginx:启动
cat nginx.conf:查看配置文件
ipconfig:查看linux的ip
浏览器访问ip/80端口:http://192.168.44.132/80
如果不可以:1.查看80端口的防火墙有没有开 2.看远程服务器(阿里云、腾讯云)安全组的80端口也放开

在这里插入图片描述
在这里插入图片描述

1.3.常用命令

cd /usr/local/nginx/sbin 进入执行文件目录 cd /usr/local/nginx/conf/nginx.conf 修改配置文件
./nginx:启动
./nginx -s stop:停止
./nginx -s quit:安全退出
./nginx -s reload:重新加载配置文件(每次修改配置文件后都要执行)
ps aux|grep nginx:查看nginx进程

二、动静分离

动静分离(静态代理),Nginx是一个HTTP服务器,可以将服务器上的静态文件通过HTTP协议展现给客户端
软件开发中,一些请求是需要后台处理的,有些请求静态文件(css、html、jpg,js等文件)的是不需要经过后台处理的,让动态网站里面的动态网页根据一些规则将不变的资源和经常变的资源跟开,动静资源做好拆分后,就可以根据静态资源的特点将其做缓存操作,提高资源响应速度。

三、反向代理

3.1.正向代理

正向代理:代理客户端

在这里插入图片描述

3.2.反向代理

反向代理:代理服务器,无感知访问服务器资源,使服务部署上线更方便

在这里插入图片描述

四、负载均衡

负载均衡的两种策略:内置策略(轮询、加权轮询、Ip hash),扩展策略(天马行空)

4.1.轮询

有9个请求,代理3台服务器,1,4,7请求会转发到第一台服务器,2,5,8请求会转发到第二台服务器,3,6,7请求会转发到第三台服务器

在这里插入图片描述

4.2.加权轮询

设置服务器的权重,性能高的权重高,大部分请求都会转发到权重高的服务器上,很少一部分转发到权重低的服务器

在这里插入图片描述

4.3.Ip hash

主要来解决session不共享的问题:iphash对客户端请求的ip进行hash操作,根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理
但如果某台服务器挂了,session任然会丢失,所以不建议使用nginx实现session共享,比较常用的是Redis实现session共享

在这里插入图片描述

五、限流

六、缓存

七、黑白名单

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...