如何使用Nginx反向代理,负载均衡

发布者:上海IT外包来源:http://www.lanmon.net点击数:1042

学会活到老
前端圈子一直都是新的,必须不断学习,在去大工厂的路上,还需要熟悉后端语言等等。用别人的笑话来说,十年前的Java技术仍然可以使用,前端技术不是这样的。
突然想起了deno项目的发布,一个有趣的问题,“请不要更新,我无法学习。”虽然这似乎是一个笑话问题,但它告诉前端必须表现出的疲劳,知识越来越大,学习内容也越来越多。
我也听到一些朋友说现在不是采访阿里,恐怕进入也不容易。当然,他们中的许多人只是一个笑话,只是听一笑,不要把它当回事,不要抱怨。
好的,我们今天直接谈谈这个话题。前端需要了解一些Nginx的操作和维护用法。内容不多。看看吧。这两个功能在工作中已经足够了,所以我们先来看一下这个问题。什么是反向代理和负载均衡?
什么是反向代理和负载均衡?
什么是反向代理?
当我们有一个服务器集群并且服务器集群中每个服务器的内容相同时,我们还必须直接从PC访问服务器集群服务器,并且必须通过第三方服务器访问集群。
此时,我们通过第三方服务器访问服务器群集的内容,但我们不知道哪个服务器提供了内容。此代理方法称为反向代理。
什么是负载平衡?
该公司将构建许多服务器,形成服务器集群。然后,当用户访问网站时,首先访问中间服务器,然后让中间服务器在服务器群集中选择压力较小的服务器,然后访问服务器。请求引入选定的服务器
因此,每次用户访问时,服务器群集中每台服务器上的压力都会平衡,服务器压力会被共享,从而避免服务器崩溃。
总而言之:nginx会给你一个小的服务器压力来访问
Nginx反向代理和负载均衡实现
当用户访问网站时,他首先访问nginx服务器,然后nginx服务器从服务器群集中选择压力较小的服务器,并将访问请求定向到服务器。
Nginx配置以下配置方面的变化,我将从mac系统进行简单演示,如何安装它,然后暂时基于mac,windows系统直接到Nginx官方网站下载安装
安装nginx
1-进入自制的官方网站,然后复制命令,预安装所需的内容
2-brew安装nginx安装nginx
3-nginx -v显示版本号
输入nginx
Cd/usr/local/etc/nginx
下图显示了nginx文件夹下的文件内容。
当我们进入这个目录时,我们可以操作nginx,然后列出一些非常有用的命令,敲几下,一定要记住
Nginx常用命令
启动nginx
Nginx的
当你敲掉nginx的5个键时,没有响应,你只需要访问localhost: 8080(默认)
关闭nginx
如果出现以下图片,请不要惊慌,因为之前启动了nginx。
只需nginx -s停止,停止nginx服务
然后再次启动nginx。
重启nginx
Nginx -s重新加载
每次修改.conf文件时都需要重启nginx。
检查配置
检查修改后的nginx.conf配置是否正确。
Nginx -t
如果以下ok和successl是正确的,则其他的不正确。
Nginx:配置文件/usr/local/etc/nginx/nginx.conf语法没问题
Nginx:配置文件/usr/local/etc/nginx/nginx.conf测试成功
对于我们的前端,它不需要太多地修改nginx。我们修改nginx配置的原因是做一些反向代理。
Proxy_pass
nginx反向代理主要由proxy_pass配置。将项目的开发计算机地址填入proxy_pass。正常格式是proxy_pass URL。
服务器{
听80;
地点/{
Proxy_passhttp://10.10.10.10: 20186;}
}
用于负载平衡的上游模块
Ip_hash指令
服务器指令
上游指令和相关变量
上面写的三条指令,我们直接分析代码
//修改nginx.conf
Worker_processes 1;
活动{
Worker_connections 1024;
}
Http {
上游firstdemo {
Server 39.106.145.33;
服务器47.93.6.93;
}
服务器{
听8080;
地点/{
Proxy_passhttp://firstdemo;
}
}
}
上面修改的nginx.conf是上面花圈中的文件,nginx配置的主要修改在这里。为了简化,只需用少于20行的代码替换原始的nginx.conf内容。
由于少于20行,请在其中说明相应的内容。只是了解。
Worker_processes
工作进程数与CPU核心数相同
Worker_connections
每个进程允许的最大连接数
上游模块
负载平衡取决于它
语法格式:上游名称{}
内部写入的两个服务器对应于不同的服务器。
服务器模块
实施反向代理
听监督端口号码
位置/{}访问根路径
Proxy_passhttp://firstdemo,代理到firstdemo中的两个服务器
修改上面的nginx.conf之后,不要忘记重启nginx的最重要步骤
然后再次访问localhost: 8080,您将看到以下页面
还有另一页
每次刷新都将访问不同的服务器,以便完成负载平衡
但是,应该做的是当用户第一次访问其中一个服务器时,下次访问时,您将能够直接访问服务器。没有必要改变总数。然后它发挥了ip_hash的力量
//省略.
上游firstdemo {
Ip_hash;Server 39.106.145.33;
服务器47.93.6.93;
}
Ip_hash它的作用是在访问服务器后第一次记录,然后访问服务器,这样第一次访问就是33个服务器,然后访问将分配给33个服务器访问。
在工作中使用简单
当公司开发项目时,在遇到设计和产品检查时,您不能让他们每次都去主机。毕竟,这不友好,检查很麻烦。因此,您应该给他们一种直观的感觉,您可以通过访问地址看到它。
我们来看看吧。当我在公司时,nginx完成的反向代理配置与上面完全相同。只需添加server_name并使用指定的域名即可访问它。
服务器{
听80;
Server_name chd.news.so.m.qss.test.so.com;
Auth_basic关闭;
地点/{
Proxy_passhttp://10.10.10.10: 20186;
Proxy_set_header Host $ host;
Proxy_redirect关闭;
Proxy_set_header X-Real-IP $ remote_addr;
Proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;
Proxy_connect_timeout 60;
Proxy_read_timeout 600;
Proxy_send_timeout 600;
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部