nginx学习

一、特点

  1. 稳定性极强。7*24小时不间断运行
  2. Nginx提供了非常丰富的配置实例
  3. 占用内存小,并发能力强

二、安装

2.1安装

version: '3.1'
sercvices:
  nginx:
   restart: always
   image: daocloud.io/library/nginx:latest
   container_name: nginx
   ports:
     - 80:80

在这里插入图片描述

2.2nginx的配置文件

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;# 错误日志存放的位置
pid        /var/run/nginx.pid;

#以上为全局快,	worker_processes越大,并发能力越强
events {
    worker_connections  1024;#数值越大并发能力越强
}


http {
    include       /etc/nginx/mime.types;#代表引入外部文件放着大量媒体类型
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf; 引入了配置文件
    	server {
listen       80;#代表nginx监听的端口号
listen  [::]:80;
server_name  localhost;#接受请求的ip


location / {
    root   /usr/share/nginx/html;#接受的请求根据这个路径去查找静态资源
    index  index.html index.htm;
}

}
}

2.3修改docker-compose文件

version: '3.1'
sercvices:
  nginx:
   restart: always
   image: daocloud.io/library/nginx:latest
   container_name: nginx
   ports:
     - 80:80
   volumes:
     - /opt/docker_nginx/conf.d/:/etc/nginx/conf.d

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

正反向代理

3.1正向代理

1,正向代理服务时由客户端设立的
2.客户端了解代理服务器和目标服务器是谁
3.帮助咱们实现突破访问权限,提高访问速度,对目标服务器隐藏客户端的ip

3.2反向代理

在访问目标服务器之前会先访问反向代理服务器,他会选择你选择目标的哪个服务器

1.反向代理服务器是配置在服务端的
2.客户端不知道访问的到底是那一台服务器
3.达到负载均衡,并且可以隐藏服务器真正的ip地址

3.3基于nginx实现反向代理

先启动tomcat
编写nginx配置文件
修改default.conf配置文件
location / {
proxy_pass http://192.168.0.106:8080;/
}

3.4 关于nginx的location的路径映射

优先级关系:
(location =) >(location /xxx/yyy/zzz)>(location ^~) >(location ~,~*)>(location /其实路径)>(Location /)
#1.=匹配
location = /{
#精准匹配,主机名不能带二年和的字符串
}
#2.通用
location /xxx{
#匹配所有以/xxx开头的路径
}
#3.正则匹配
location ~ /xxx{
#匹配所有以/xxx开头的路径,优先级高于通用的
}
#4.匹配开头路径
location ^~ /images/{
#匹配所有以images开头的路径,高于正则匹配的优先级
}
#5.~* \.(gif|jpg|png)${
匹配以gif或者。。。为结尾的路径
}

3.5负载均衡策略

1.轮询方式
一个服务器分配一次交替分配 前提是两个服务器处理速度一致
2.权重方式
根据处理速度的比例分配
3.ip-hash
根据客户端的ip地址经过计算得到的结果分配服务器

四、负载均衡配置

4.1轮询

在这里插入图片描述

4.2权重

在这里插入图片描述

4.3ip-hash

在这里插入图片描述
同一个电脑ip访问的地址是一样的

五、动静分离

Nginx的并发能力公式:
worker_processes*work_connections/4|2=最终的并发能力
动态资源/4 静态资源/2

动态资源
在这里插入图片描述
静态资源
在这里插入图片描述
通过动静分离提升并发能力

5.1 动态资源代理

配置如下
location / {
proxy_pass 路径;
}

5.2静态资源代理

配置如下
location / {
root 静态资源路径
index 默认访问路径下的什么资源
autoindex on ;展示静态资源下的全部内容,以列表的方式展开
#先修改docker 添加一个数据卷,映射到Nginx服务器的一个目录

现在docker-compose.yml加入如下
在这里插入图片描述

Nginx集群

解决单点故障
需要在每一个nginx添加keepalived程序
还需要一个haproxy 提供虚拟的路径,统一接受用户的请求软件中指定找哪一个nginx

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值