nginx代理转发(Nginx入门)

 2025-09-01 07:33:01  阅读 456  评论 0

摘要:1 Nginx介绍Nginx 是一个高性能的HTTP和反向代理web服务器,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名,其特点是占有内存少,并发能力强,能够支持高达5w并发连接,实际生产环境中可以支撑2-4万并发连接数。Nginx的所有配置基本都是在nginx.conf文

1 Nginx介绍

Nginx 是一个高性能的HTTP和反向代理web服务器,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名,其特点是占有内存少,并发能力强,能够支持高达5w并发连接,实际生产环境中可以支撑2-4万并发连接数。

Nginx的所有配置基本都是在nginx.conf文件中进行配置。

2.1 安装nginx(Windows安装方法)

1. 下载Nginx:

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

2. 解压nginx.rar压缩包,并进入nginx目录,双击nginx.exe启动。

3. 打开浏览器访问 http://127.0.0.1 如果出现以下画面则表示Nginx启动成功。

-- 验证Nginx是否启动成功

Nginx入门&什么是反向代理、负载均衡-保姆级教学

2.2 安装Nginx(linux安装方法)

linux服务安装Nginx需要提前安装一些依赖,相比Windows安装有一些繁琐,所以给大家提供了一键安装Nginx的脚本

下载脚本链接:https://pan.baidu.com/s/1NP5AHq17Djce2_T7tnP4vw?pwd=nzz5

下载下来后将下图中的两个文件(Nginx安装包和sh脚本)上传到服务器,

然后执行./nginx-install.sh即可完成一键安装;Nginx将会安装到 /usr/local/nginx。

Nginx入门&什么是反向代理、负载均衡-保姆级教学

.sh脚本

如果./nginx-install.sh无法运行则需要设置文件权限,执行以下命令chmod 755 nginxinstall.sh,然后重新执行命令即可。

3 第三节反向代理

3.1 什么是反向代理

反向代理:指通过代理服务器(Nginx)来接受网络上的连接请求,然后将请求转发给内部网络上的其它服务器,并从服务器上得到的结果返回给网络上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

Nginx入门&什么是反向代理、负载均衡-保姆级教学

反向代理案例

3.2 演示反向代理

1、在nginx.conf中配置反向代理,可直接将以下代码替换到你本地nginx.conf中

worker_processes  1;
events {
 worker_connections  1024;
}
http {
 include       mime.types;
 default_type  application/octet-stream;
 keepalive_timeout  65;

 server {
     listen       80;
     server_name  localhost;

     location /a/ {
         proxy_pass http://127.0.0.1:8080/;
     }

     location /b/ {
         proxy_pass http://127.0.0.1:8081/;
     }
 }
}

2、后台启动两个端口8080和8081;

3、 浏览器分别访问127.0.0.1/a/${接口路径} 127.0.0.1/b/${接口路径} 查看效果。

4 Nginx转发路径拼接规则

location中拦截参数结尾带/和不带/区别 ?例如:location /a 和 /a/有什么区别 ?

- 当结尾加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;
- 如果没有/,则会把匹配的路径部分也给代理走。

Nginx入门&什么是反向代理、负载均衡-保姆级教学

5 第五负载均衡

5.1 什么是负载均衡、故障转移

负载均衡

按照一定的算法【权重、轮询、IP绑定】,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。

故障转移

通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果服务器期宕掉,自动将请求发送到其他正常的应用服务器。如果检查到发生故障的应用服务器恢复工作,则会重新加入负载均衡队列进行工作。

Nginx入门&什么是反向代理、负载均衡-保姆级教学

5.2 负载均衡的三种策略

 1. 轮询(默认)
将请求按顺序轮流均匀的分配到后端服务器上。 
upstream testserver { 
  server 127.0.0.1:8080; 
  server 127.0.0.1:8180; 
} 

 2. IP绑定
按照访问ip的hash结果进行取模运算,得到的结果便是客服端要访问服务器,可以解决session的问题。 
upstream testserver { 
  ip_hash; 
  server 127.0.0.1:8080; 
  server 127.0.0.1:8180; 
}

 3. 指定权重
指定轮询几率,weight越大,负载的权重就越大,用于后端服务器性能不均的情况。 
upstream testserver { 
  server 127.0.0.1:8080 weight=10; 
  server 127.0.0.1:8180 weight=10; 
}

5.3 演示负载均衡&故障转移(轮训)

在nginx.conf中配置,可直接将以下代码替换到你本地nginx.conf中
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    keepalive_timeout  65;

    #轮训负载均衡
    upstream testserver { 
        server 127.0.0.1:8080; 
        server 127.0.0.1:8180; 
    } 

    server {
        listen       80;
        server_name  localhost;

        location /a/ {
            proxy_pass http://testserver/;
        }

    }
}

2.后台启动两个端口8080和8180;3.浏览器多次访问127.0.0.1/a/${接口路径}查看轮训效果。

版权声明:我们致力于保护作者版权,注重分享,被刊用文章【nginx代理转发(Nginx入门)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;

原文链接:https://www.yxiso.com/zhishi/2121014.html

发表评论:

关于我们
院校搜的目标不仅是为用户提供数据和信息,更是成为每一位学子梦想实现的桥梁。我们相信,通过准确的信息与专业的指导,每一位学子都能找到属于自己的教育之路,迈向成功的未来。助力每一个梦想,实现更美好的未来!
联系方式
电话:
地址:广东省中山市
Email:beimuxi@protonmail.com

Copyright © 2022 院校搜 Inc. 保留所有权利。 Powered by BEIMUCMS 3.0.3

页面耗时0.0342秒, 内存占用1.93 MB, 访问数据库24次

陕ICP备14005772号-15