nginx笔记

1. nginx基本概念

  • Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
  • Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。
  • Nginx支持热部署,启动简单,可以做到7*24不间断运行。几个月都不需要重新启动。

2. 反向代理

正向代理: 我们平时需要访问国外的浏览器是不是很慢,比如我们要看推特,看GitHub等等。我们直接用国内的服务器无法访问国外的服务器,或者是访问很慢。所以我们需要在本地搭建一个服务器来帮助我们去访问。那这种就是正向代理。(浏览器中配置代理服务器)

反向代理: 对我们来说,客户端对代理是无感知的,客户端不需要任何配置就可以访问,我们只需要把请求发送给反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器的地址。(在服务器中配置代理服务器)
在这里插入图片描述

3. 负载均衡

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务

简单来说就是:现有的请求使服务器压力太大无法承受,所以我们需要搭建一个服务器集群,去分担原先一个服务器所承受的压力,那现在我们有ABCD等等多台服务器,我们需要把请求分给这些服务器,但是服务器可能大小也有自己的不同,所以怎么分?如何分配更好?又是一个问题。

Nginx给出来三种关于负载均衡的方式:


轮询法(默认方法): 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
适合服务器配置相当,无状态且短平快的服务使用。也适用于图片服务器集群和纯静态页面服务器集群。


weight权重模式(加权轮询):
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的 情况。
这种方式比较灵活,当后端服务器性能存在差异的时候,通过配置权重,可以让服务器的性能得到充分发挥,有效利用资源。weight和访问比率成正比,用于后端服务器性能不均的情况。权重越高,在被访问的概率越大


ip_hash:
上述方式存在一个问题就是说,在负载均衡系统中,假如用户在某台服务器上登录了,那么该用户第二次请求的时候,因为我们是负载均衡系统,每次请求都会重新定位到服务器集群中的某一个,那么已经登录某一个服务器的用户再重新定位到另一个服务器,其登录信息将会丢失,这样显然是不妥的。
我们可以采用ip_hash指令解决这个问题,如果客户已经访问了某个服务器,当用户再次访问时,会将该请求通过哈希算法,自动定位到该服务器。每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

4. 动静分离

Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术。动静分离技术其实是采用代理的方式,在server{}段中加入带正则匹配的location来指定匹配项针对PHP的动静分离:静态页面交给Nginx处理,动态页面交给PHP-FPM模块,Apache,tomcat处理

在Nginx的配置中,是通过location配置段配合正则匹配实现静态与动态页面的不同处理方式
目前,通过使用Nginx大大提高了网站的响应速度,优化了用户体验,让网站的健壮性更上一层楼!

nginx安装

1.使用远程工具Xshell链接linux系统
2.官网下载链接
3.第一步安装pcre

wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
在这里插入图片描述
解压压缩文件
在这里插入图片描述
进入解压目录执行./configure
在这里插入图片描述
温习提示:在执行命令时如果遇到报错,可以直接百度install缺少的东西
使用make && make install
在这里插入图片描述
检查是否安装成功
在这里插入图片描述

第二步 安装openssl,zlib

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

在这里插入图片描述
第三步 安装nginx

解压缩nginx-xx.tar.gz(下载压缩包到本地,直接拖入虚拟机)在这里插入图片描述
进入解压目录执行./configure在这里插入图片描述
使用make && make install在这里插入图片描述
检查是否安装成功在这里插入图片描述
nginx启动命令在这里插入图片描述
启动进程查看在这里插入图片描述

查看开放端口号:

firewall-cmd --list-all

设置开放的端口号

sudo firewall-cmd --add-port=80/tcp --permanent

在这里插入图片描述
重启防火墙

firewall-cmd --reload

在这里插入图片描述
家人们,成功开启nginx啦啦啦啦啦!!!
ps:在浏览器中输入你的ip地址
在这里插入图片描述

nginx常用命令

使用nginx操作命令,必须先进入nginx目录
在这里插入图片描述

首先进入目录
/usr/local/nginx/sbin

1.查看nginx版本号
./nginx -v

2.启动nginx
ps -ef | grep nginx

3.关闭nginx
./nginx -s stop

4.重新加载nginx
./nginx -s reload

1.查看nginx版本号
在这里插入图片描述

2.启动nginx在这里插入图片描述

3.关闭nginx在这里插入图片描述

4.重新加载nginx
在这里插入图片描述

nginx配置文件

  1. 位置:/usr/local/nginx/conf/nginx.conf
    在这里插入图片描述
  2. nginx配置文件组成

全局块
全局块是默认配置文件从开始到events块之间的一部分内容,主要设置一些影响Nginx服务器整体运行的配置指令,因此,这些指令的作用域是Nginx服务器全局。

通常包括配置运行Nginx服务器的用户(组)、允许生成的worker process数、Nginx进程PID存放路径、日志的存放路径和类型以及配置文件引入等。

events块
events块涉及的指令主要影响Nginx服务器与用户的网络连接。常用到的设置包括是否开启对多worker process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型处理连接请求,每个worker process可以同时支持的最大连接数等。

这一部分的指令对Nginx服务器的性能影响较大,在实际配置中应该根据实际情况灵活调整

http块
http块是Nginx服务器配置中的重要部分,代理、缓存和日志定义等绝大多数的功能和第三方模块的配置都可以放在这个模块中。

前面已经提到,http块中可以包含自己的全局块,也可以包含server块,server块中又可以进一步包含location块,在本书中我们使用“http全局块”来表示http中自己的全局块,即http块中不包含在server块中的部分。

可以在http全局块中配置的指令包括文件引入、MIME-Type定义、日志自定义、是否使用sendfile传输文件、连接超时时间、单连接请求数上限等。

nginx配置实例(反向代理实例一)

实现效果

打开浏览器,在浏览器地址栏输入地址www.123.com,跳转linux系统tomcat主页里

准备工作

  1. linux系统安装tomcat,使用默认端口8080
    tomcat下载地址(像上面步骤对压缩包进行操作)在这里插入图片描述

  2. 启动tomcat,系统中会自带jdk
    ./startup.sh
    在这里插入图片描述

成功启动tomcat在这里插入图片描述

  1. 对外开放访问端口
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

在这里插入图片描述
4. 在windows系统中通过浏览器访问tomcat服务器
在这里插入图片描述

具体配置

  1. 在windows系统的host文件进行域名和ip对应关系配置在这里插入图片描述
  2. 添加内容在hosts文件中
    修改过程中遇到权限问题请点击也许可以解决你的问题
    在这里插入图片描述
    修改完hosts文件在浏览器中输入www.123.com可以访问到如下界面
    在这里插入图片描述3.在ngnix进行请求转发配置(反向代理)
    首先进入nginx配置文件
    在这里插入图片描述
    修改server_name为ip地址:在这里插入图片描述
    在location中加入转发路径,proxy_pass:(反向代理配置):在这里插入图片描述
    4.测试
    一定一定要重新加载一下nginx再输入www.123.com才能成功哦!!!
    在这里插入图片描述

在这里插入图片描述

nginx配置实例(反向代理实例二)

实现效果

使用nginx反向代理,根据访问的路径跳转到不同端口的服务中,nginx监听端口为9001.
访问http://192.168.182.128.9001/edu/ 直接跳转到127.0.0.1:8080
访问http://192.168.182.128.9001/vod/ 直接跳转到127.0.0.1:8081

准备工作

  1. 准备tocmcat服务器,一个8080端口,一个8081端口
    在这里插入图片描述
    分别向两个文件夹里拖入tomcat压缩包进行解压
    8080文件夹
    在这里插入图片描述
    8081文件夹
    修改配置文件server.xml端口号
    在这里插入图片描述
    修改shutdown端口号在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
再次启动8081tomcat在这里插入图片描述
测试启动成功
在这里插入图片描述
在这里插入图片描述
2. 创建文件夹和测试页面
新建edu文件夹
在这里插入图片描述
进入edu文件夹,将在桌面新建好的a.html文件拖入虚拟机
在这里插入图片描述
在网页中输入文件可以显示a.html内容
在这里插入图片描述
相同操作8081
在这里插入图片描述
在这里插入图片描述
3. 具体配置
(1) 找到ngnix配置文件,进行反向代理配置
修改监听端口9001,添加location中的proxy_pass(如果路径中有edu就到8080端口号,如果路径中有vod就到8081端口号)
在这里插入图片描述
(2) 开放对外访问端口号9001,8080,8081(上面有介绍,firewall…)

(3) 测试
首先关闭nginx
在这里插入图片描述
再次启动
在这里插入图片描述
访问9001端口号成功
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值