Nginx详解-安装配置等

目录

一、引言

1.1 代理问题

1.2 负载均衡问题

1.3 资源优化

1.4 Nginx处理

二、Nginx概述

三、Nginx的安装

3.1 安装Nginx

3.2 Nginx的配置文件

四、Nginx的反向代理【重点】

4.1 正向代理和反向代理介绍

4.2 基于Nginx实现反向代理

4.3 关于Nginx的location路径映射


 

一、引言


1.1 代理问题

客户端到底要将请求发送给哪台服务器。

发送给服务器1还是服务器2
1.2 负载均衡问题

如果所有客户端的请求都发送给了服务器1,那么服务器2将没有任何意义

负载均衡问题

1.3 资源优化

客户端发送的请求可能是申请动态资源的,也有申请静态资源,但是都是去Tomcat中获取的

静态资源访问

1.4 Nginx处理
在搭建集群后,使用Nginx

二、Nginx概述


Nginx是由俄罗斯人研发的,应对Rambler的网站,并且2004年发布的第一个版本。

Nginx之父

官方文档 nginx 

Nginx的特点:

  • 俄罗斯生产,底层C语言

  • 稳定性极强。 7*24小时不间断运行。

  • Nginx提供了非常丰富的配置实例。

  • 占用内存小,并发能力强。

  • 单机可扛5万并发

其他软负载均衡器

​ lvs:国产,章文松博士开发,性能优于nginx,性能较单一

硬负载均衡器

硬件,价格昂贵,性能高,每秒以GB为单位接收请求

​ 常用品牌:f5,netscaler等等

三、Nginx的安装


nginx容器内部路径

​ /usr/share/nginx/html: 存放静态资源​ /etc/nginx/nginx.conf : nginx的配置文件(配置静态资源 ,反向代理信息, 负载均衡)​ var/log/nginx:记录日志

3.1 安装Nginx

使用docker命令安装nginx

注意:如果没有这个文件,是不能挂载的,所以需要先在centos指定位置复制一个nginx.conf。 我们可以先随便创建一个nginx,容器中会包含nginx.conf , 同时也可以看到nginx容器内目录结构。

docker run -id --name docker-nginx 
-v /opt/docker-nginx/data/conf/nginx.conf:/etc/nginx/nginx.conf 
-v /opt/docker-nginx/data/html:/usr/share/nginx/html 
-p 81:80 daocloud.io/library/nginx:latest

使用Docker-Compose安装

docker-compose-nginx.yml 文件

version: '3.1'
services:
  nginx:
    restart: always
    image: daocloud.io/library/nginx:latest
    container_name: nginx3
    ports:
      - 82:80
    volumes:
      - /opt/docker-nginx/data/conf/nginx.conf:/etc/nginx/nginx.conf
      - /opt/docker-nginx/data/log:/var/log/nginx
      - /opt/docker-nginx/data/html:/usr/share/nginx/html
  tomcat:
    restart: always
    image: daocloud.io/library/tomcat:8.5.15-jre8
    container_name: nginx-tomcat
    ports:
      - 9091:8080
    volumes:
      - /var/lib/docker/volumes/olumes/_data:/usr/local/tomcat/webapps/ROOT   

使用compose构建容器

docker-compose -f 文件名 up -d

3.2 Nginx的配置文件

关于Nginx的核心配置文件nginx.conf

worker_processes  1;        
error_log  /var/log/nginx/error.log warn;
# 以上统称为全局块, 
# worker_processes他的数值越大,Nginx的并发能力就越强
# error_log 代表Nginx的错误日志存放的位置
​
events {
    worker_connections  1024;
}
# events块
# worker_connections他的数值越大,Nignx并发能力越强
​
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    server {
        listen       80;
        server_name  localhost;
​
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
        # location块
        # root:将接收到的请求根据/usr/share/nginx/html去查找静态资源
        # index: 默认去上述的路径中找到index.html或者index.htm
    }
    # server块
    # listen: 代表Nginx监听的端口号 
    # localhost:代表Nginx接收请求的ip
}
# http块
# include代表引入一个外部的文件 -> /mime.types中放着大量的媒体类型
# include /etc/nginx/conf.d/*.conf; -> 引入了conf.d目录下的以.conf为结尾的配置文件
​

四、Nginx的反向代理【重点


4.1 正向代理和反向代理介绍

正向代理:

  • 正向代理服务是由客户端设立的。

  • 客户端了解代理服务器和目标服务器都是谁。

  • 帮助咱们实现突破访问权限,提高访问的速度,对目标服务器隐藏客户端的ip地址。

正向代理

反向代理:

  • 反向代理服务器是配置在服务端的。

  • 客户端是不知道访问的到底是哪一台服务器。

  • 达到负载均衡,并且可以隐藏服务器真正的ip地址。

4.2 基于Nginx实现反向代理

准备一个目标服务器。

启动了之前的tomcat服务器。

编写nginx的配置文件,通过Nginx访问到tomcat服务器。

server{
  listen 80;
  server_name localhost;
    # 基于反向代理访问到Tomcat服务器
  location / {
    # 注意:ip是tomcat内部ip地址, 端口号也是tomcat的内部端口号
    proxy_pass http://你的地址:8080/;
  }
}

4.3 关于Nginx的location路径映射

优先级关系如下:

  • location = /路径:优先级最高,精准匹配,一旦匹配, 不再去找其他匹配项。

  • location ^~ /路径:优先级次之,字符串匹配,一旦匹配, 不再去找其他匹配项。

  • location ~ 正则表达式:如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。

  • location ~* 正则表达式:和location ~ 正则表达式相同,不过当前方式不区分大小写。

  • location /路径:常规方式,匹配前缀,优先级最低。

举个栗子:

# 直接匹配
location = / {
  # 精准匹配,主机名后面不能带任何的字符串
}
​
# 常规匹配
location /xxx {
  # 匹配所有以/xxx开头的路径
  
}
​
# 正则匹配
location ~ /xxx {
  # 匹配所有以/xxx开头的路径
}
​
# 匹配开头路径
location ^~ /images/ {
  # 匹配所有以/images开头的路径,匹配后,不再删选其他选项
}
​
# 正则匹配后缀
location ~* \.(gif|jpg|png)$ {
  # 匹配以gif或者jpg或者png为结尾的路径
}
​
# 全部通配
location / {
  # 匹配全部路径  
}

  • 33
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值