Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略

这篇具有很好参考价值的文章主要介绍了Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引出


1.Nginx反向代理,代理的概念,正向代理,反向代理;
2.docker版本的nginx配置,挂载启动,开放端口;
3.windows版本的使用,代理多个端口的方式;
4.负载分配的策略,轮询,权重,ip_hash方式;文章来源地址https://www.toymoban.com/news/detail-672084.html

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

nginx是啥

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

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔寒索耶夫为俄罗访问量第二的Rambler.ru站点(俄文:PaM6nep)开发的,公开版本1.19.6发布于2020年12月15日。

rambler.ru

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

其将源代码以类[BSD许可证正的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。Nginx是一款轻量级的Wb服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-ike协议下发行。其特点是占有内存少,并发能力强,事实上ngix的并发能力在同类型的网页服务器中表现较好。

正向代理和反向代理

正向代理

正向代理时,由客户端发送对某一个目标服务器的请求,代理服务器在中间将请求转发给该目标服务器,目标服务器将结果返回给代理服务器,代理服务器再将结果返回给客户端。

正向代理核心:客户端非常明确要访问的服务器地址,客户端是需要配置代理服务的地址、端口、账号密码(如有)等才可使用的。正向代理服务器负责转发客户端的请求到目标服务器。

正向代理主要使用场景是客户端。由于网络不通等物理原因,需要通过正向代理服务器这种转发环节顺利访问目标服务器。当然,也可以通过正向代理对客户端某些信息进行伪装和改变。

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

反向代理

反向代理是一种代理服务器的配置模式,它代表服务器向客户端提供服务。客户端发送请求到反向代理服务器,然后反向代理服务器将请求转发到后端的真实服务器上,并将响应返回给客户端。简单理解为用户直接访问反向代理服务器就可以获得目标服务器的资源。这一过程叫反向代理

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

nginx的安装使用

Docker版本的nginx安装

下载

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

[root@localhost ~]# docker pull nginx
Using default tag: latest
Trying to pull repository docker.io/library/nginx ... 
latest: Pulling from docker.io/library/nginx
a2abf6c4d29d: Already exists 
a9edb18cadd1: Pull complete 
589b7251471a: Pull complete 
186b1aaa4aa6: Pull complete 
b4df32aa5a72: Pull complete 
a0bcbecc962e: Pull complete 
Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status: Downloaded newer image for docker.io/nginx:latest
[root@localhost ~]# 

创建挂载文件

nginx/conf nginx/logs nginx/html

[root@localhost software]# pwd
/usr/local/software
[root@localhost software]# mkdir -p nginx/logs nginx/cof nginx/html
[root@localhost software]# ls
6380  6381  6389  6390  6391  9361  canal  nacos  nginx  postgres  rabbitmq  redis  sentinel
[root@localhost software]# cd nginx/
[root@localhost nginx]# ls
cof  html  logs
[root@localhost nginx]# 

获取配置文件

创建docker容器
[root@localhost nginx]# docker run -it --name nginx -d nginx
09e7eb76a6e54e14f76a85bc5828af34432d57b33e0e976d5e08c219d7450161

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

拷贝容器中的配置文件
docker cp nginx:/etc/nginx/nginx.conf conf/

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

[root@localhost nginx]# docker cp nginx:/etc/nginx/nginx.conf conf/
[root@localhost nginx]# cd conf/
[root@localhost conf]# ls
nginx.conf
[root@localhost conf]# docker cp nginx:/etc/nginx/conf.d ./
[root@localhost conf]# ls
conf.d  nginx.conf
[root@localhost conf]# ll
总用量 4
drwxr-xr-x. 2 root root  26 823 21:47 conf.d
-rw-r--r--. 1 root root 648 1228 2021 nginx.conf
[root@localhost conf]# 
删除容器
[root@localhost conf]# docker stop nginx 
nginx
[root@localhost conf]# docker rm nginx 
nginx
[root@localhost conf]# 

创建运行容器

两个端口:

一个代理http协议

一个代理TCP

docker run -it \
--name nginx \
-p 9999:9999 \
-p 10999:10999 \
--privileged \
-v /etc/localtime:/etc/localtime \
-v /usr/local/software/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/software/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /usr/local/software/nginx/html:/usr/share/nginx/html \
-v /usr/local/software/nginx/logs:/var/log/nginx \
-d nginx

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

查看日志

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

开放端口

开放两个端口9999和10999

[root@localhost conf]# firewall-cmd --zone=public --add-port=9999/tcp --permanent 
success
[root@localhost conf]# firewall-cmd --zone=public --add-port=10999/tcp --permanent 
success
[root@localhost conf]# firewall-cmd --reload
success
[root@localhost conf]# firewall-cmd --zone=public --list-ports
3306/tcp 15672/tcp 5672/tcp 2375/tcp 8848/tcp 9848/tcp 9999/tcp 10999/tcp
[root@localhost conf]# 

进行代理和测试

 	server {
        listen 9999;
        location /{
            proxy_pass https://www.bilibili.com;
        }
    }

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

代理百度测试:http://192.168.111.130:9999/

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

Windows版本的使用

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

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

start nginx --启动
nginx -s stop --停止
nginx -s reload --重启

反向代理多个端口

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

cmd命令启动nginx

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

运行日志查看

查看运行的日志文件

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

根据日志修改配置文件

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

再次启动,运行成功

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

启动关闭重启

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

负载分配的策略

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

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

1.轮询法(默认方法)

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

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

2.weight权重模式(加权轮询)

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

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维

3.ip_hash(解决session问题)

上述方式存在问题,在负载均衡系统中,假如用户在某台服务器上登录了,那么该用户第二次请求的时候,因为我们是负载均衡系统,每次请求都会重新定位到服务器集群中的某一个,那么已经登录某一个服务器的用户再重新定位到另一个服务器,其登录信息将会丢失,这样显然是不妥的。

采用ip_hash指令解决这个问题,如果客户已经访问了某个服务器,当用户再次访问时,会将该请求通过哈希算法,自动定位到该服务器。每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略,运维,SpringBoot,nginx,docker,windows,运维


总结

1.Nginx反向代理,代理的概念,正向代理,反向代理;
2.docker版本的nginx配置,挂载启动,开放端口;
3.windows版本的使用,代理多个端口的方式;
4.负载分配的策略,轮询,权重,ip_hash方式;

到了这里,关于Nginx入门——Nginx的docker版本和windows版本安装和使用 & 代理的概念 & 负载分配策略的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在docker中使用Nginx并实现反向代理

    使用Nginx反向代理,可以通过不同的子域名访问到不同服务器的端口上 下面来介绍怎么在Docker容器中使用Nginx反向代理。 1.安装Docker 确保你的系统上已经安装了Docker。具体可以Docker官方网站上找到适合你系统的安装指南。 2.创建一个新的Docker容器 首先,创建一个新的Docker容器

    2024年02月16日
    浏览(44)
  • 使用 Docker 和 Nginx 反向代理访问 ChatGPT API

    在许多应用程序中,我们需要从一个外部服务中获取数据。然而,由于种种原因(例如跨域问题、API 访问限制等),我们可能无法直接从客户端访问这些服务。这时,反向代理可以成为我们的救星。在这篇文章中,我们将介绍如何使用 Docker 和 Nginx 反向代理访问 OpenAI API 接口

    2023年04月09日
    浏览(32)
  • docker入门之一:docker基础概念与安装

    1. Docker简单介绍 1.1. 什么是docker? 1.2. Docker和传统虚拟机 1.3. 为什么使用docker 1.4. docker架构 2. Docker安装 2.1. docker版本命名 2.2. docker安装 2.3. docker卸载 2.4. docker镜像加速器 google go语言开发,基于Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操

    2023年04月18日
    浏览(24)
  • Nginx搭建Https反向代理,使用阿里云免费SSL证书 - Docker

    没有docker需提前安装docker,不知怎么安装的请自行百度。 1、拉取镜像 2、去阿里云或者其他云服务提供商申请免费证书,申请到之后下载下来,上传到服务器 把证书上传到ssl目录下面,下面是ssl的目录结构 /root/nginx/ssl 和上传的证书有两个文件一个 .key 一个 .pem 进入nginx-pr

    2024年02月09日
    浏览(82)
  • Mac Docker安装配置nginx,配置代理前端访问服务器后端访问本地启动项目

     或者直接通过docker客户端查看 --name NginxTest:容器名称 -p 8080:8080:映射端口 -d nginx:设置容器后台运行  docker客户端查看 1)全局块:配置服务器整体运行的配置指令 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,

    2024年02月02日
    浏览(52)
  • Windows版本Docker安装

    Docker允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像 Docker应用运行在容器中,使用沙箱机制,相互隔离      Docker 镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行     docker实现在不同的linux操作系

    2024年02月05日
    浏览(30)
  • Nginx从安装到使用,反向代理,负载均衡

    1.1、Nginx介绍 Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。 Nginx是由 伊戈

    2024年02月10日
    浏览(29)
  • Windows环境下 Docker Desktop 安装 Nginx

    官网: https://www.docker.com/products/docker-desktop/直接下载无脑一键安装即可。 如图所示 docker pull nginx 如图所示 docker run nginx -p 80:80 -d nginx:latest 1.首先在Windows上寻找自己喜欢的盘符创建存储nginx资源的目录 nginx/conf 配置文件 nginx/html 页面 nginx/logs 日志监测 2.Nginx容器中的相关配置文

    2024年02月09日
    浏览(48)
  • nssm 工具把asp.net core mvc变成 windows服务,使用nginx反向代理访问

    nssm工具的作用:把项目部署成Windows服务,可以在系统后台运行 1.创建一个asp.net core mvc的项目weblication1 asp.net core mvc项目要成为windows服务需要安装下面的nuget包 在program中添加代码 在创建一个asp.net core mvc项目 webapplication2 把program中的usePathBase改为(“/app2”) 我这里没添加 buil

    2024年04月09日
    浏览(36)
  • 编译安装Nginx和使用五种算法实现Nginx反向代理负载均衡

    目录 Ubuntu中安装Nginx 概念介绍 负载均衡 几种负载均衡算法 反向代理 环境规划 配置反向代理 加权负载均衡(Weighted Load Balancing) 轮询(Round Robin) IP 哈希(IP Hash) 最少连接(Least Connections) URL 哈希(URL Hash) 想要安装nginx,首先我们需要有一台Ubuntu的虚拟机,然后最好在

    2024年01月25日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包