海薇站长网 - 让网站建设、优化、维护从此简单!

海薇站长网

当前位置: 海薇站长网 > 站长经验 > Nginx反向代理是什么

Nginx反向代理是什么

时间:2018-08-08 20:59:50来源:今日新闻 作者:365天天网 点击:
Nginx反向代理是什么,怎么样学习Nginx,如何快速了解Nginx反向代理?作用:调度器。实现web负载均衡,web高可用,但还未达到集群高可用(lvs keepavlived)。

Nginx反向代理是什么,怎么样学习Nginx,如何快速了解Nginx反向代理?

作用:调度器。实现web负载均衡,web高可用,但还未达到集群高可用(lvs keepavlived)

Nginx反向代理语法格式

http{ upstream  webs { //定义源服务器组(集群)

server 192.168.2.100;

server 192.168.2.200; }       

server {listen 80;

server_name www.a.com;           //Web主机名

location / {

proxy_pass  http://webs;  //调用集群

root html;} } }

Nginx负载分配方式(目前支持4种)

轮询(默认的):逐一循环调度

weight:指定轮询几率,权重值和访问比率成正比,默认权重为1

ip_hash:根据客户端IP分配固定的后端服务器(相同客户端访问相同服务器)

服务器组主机状态

down:表示当前server暂时不参与负载(宕机)

max_fails:允许请求失败的次数(默认为1)

fail_timeout:max_fails次失败后,暂停提供服务的时间

backup:备份服务器

server 172.16.0.100 max_fails=1 fail_timeout=30;

//定义后端服务器,最大失败次数,失败后,停同多少秒

server 172.16.0.201 weight=3; //定义权重,权重越大,访问量越多,此处连续访问3次

server  172.16.0.202 down;    //宕机的服务器

server 172.16.0.203 backup;   //备用服务器

示例:Nginx反向代理,实现如下功能:

后端Web服务器两台,可以使用httpd实现;Nginx采用轮询的方式调用后端Web服务器

两台Web服务器的权重要求设置为不同的值;最大失败次数为1,失败超时时间为30秒

步骤一:部署实施后端Web服务器

1)部署后端Web1服务器  [root@web1 ~]# yum  -y  install  httpd

[root@web1 ~]# echo "192.168.2.100" > /var/www/html/index.html

[root@web1 ~]# systemctl restart httpd

2)部署后端Web2服务器 [root@web2 ~]# yum  -y  install  httpd

[root@web2 ~]# echo "192.168.2.200" > /var/www/html/index.html

[root@web2 ~]# systemctl restart httpd

步骤二:配置Nginx服务器,添加服务器池,实现反向代理功能

[root@Proxy conf]# cp nginx.conf.default nginx.conf  //还原配置文件

1)修改/usr/local/nginx/conf/nginx.conf配置文件

[root@Proxy ~]# vim /usr/local/nginx/conf/nginx.conf

.. ..

http {.. ..

upstream webserver {server 192.168.2.100;

server 192.168.2.200;  }

server {listen        80;

server_name  www.tarena.com;

location / {proxy_pass http://webserver;}}    //调用集群

2)重启nginx服务 [root@Proxy ~]# /usr/local/nginx/sbin/nginx –s reload

3)使用浏览器访问代理服务器测试轮询效果

[root@client ~]# curl http://192.168.4.5            //使用该命令多次访问查看效果

注意:关闭防火墙

步骤三:配置upstream服务器集群池属性

1)设置失败次数,超时时间,权重

[root@Proxy ~]# vim /usr/local/nginx/conf/nginx.conf

.. ..

http {.. ..

upstream webserver{server 192.168.2.100 weight=1 max_fails=2 fail_timeout=10;

server 192.168.2.200 weight=2 max_fails=2 fail_timeout=10;   }

server {listen        80;

server_name  www.tarena.com;

location / { proxy_pass http://webserver; }}

2)重启nginx服务 [root@Proxy ~]# /usr/local/nginx/sbin/nginx –s reload

3)使用浏览器访问代理服务器测试轮询效果

[root@client ~]# curl http://192.168.4.5            //使用该命令多次访问查看效果

4)设置相同客户端访问相同Web服务器

[root@Proxy ~]# vim /usr/local/nginx/conf/nginx.conf

.. ..

http {.. ..

upstream webserver {ip_hash;//相同的客户端找相同的服务器

server 192.168.2.100 weight=1 max_fails=2 fail_timeout=10;

server 192.168.2.200 weight=2 max_fails=2 fail_timeout=10; }

.. ..

server {listen        80;

server_name  www.tarena.com;

location / {proxy_pass http://webserver;}}

5)重启nginx服务 [root@Proxy ~]# /usr/local/nginx/sbin/nginx –s reload

6)使用浏览器访问代理服务器测试轮询效果

[root@client ~]# curl http://192.168.4.5         //使用该命令多次访问查看效果

静态页面——html,mp3,mp4,txt,doc,pdf,doc...

动态页面——java,PHP,python,shell...

语言的难易(从难到易):汇编,c,java,php,python,shell

主流论坛:DiscuzX

###############################################################################

组合:(nginx和httpd)+PHP,python 

tomcat+java      jboss+java            weblogic+java

LAMP,linux /apache /MySQL、MariaDB/ php /(python  perl)

LNMP,是主流的企业网站平台之一

L:Linux操作系统              N:Nginx网站服务软件

M:MySQL、MariaDB数据库       P:网站开发语言(PHP、Perl、Python)

用户画像技术

你也许会喜欢如下的文章?
(责任编辑:365天天网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
推荐内容