|
|
51CTO旗下网站
|
|
移动端

网站用户同时访问过多咋办?搭建Nginx解决

假设一个场景,如果有一千个客户同时访问你服务器时,而你只有一台服务器的Nginx,且只有一个MySQL服务器,那么这些请求,可能会高出你的的服务器承受能力,就会.........咯!掉了;

作者:佚名来源:今日头条|2018-10-08 09:29

 linux下nginx负载均衡的搭建

首先先了解下负载均衡,假设一个场景,如果有一千个客户同时访问你服务器时,而你只有一台服务器的Nginx,且只有一个MySQL服务器,那么这些请求

可能会高出你的的服务器承受能力,就会.........咯!掉了;

解决方法:

1.垂直升级:就是增加服务器的配置,CPU,内存等

2.水平升级:添加多台服务器来分担服务器压力

常见的负载均衡器

根据工作在的协议层划分可划分为:

四层负载均衡:根据请求报文中的目标地址和端口进行调度

七层负载均衡:根据请求报文的内容进行调度,这种调度属于「代理」的方式

根据软硬件划分:

硬件负载均衡: ◦F5 的 BIG-IP

Citrix 的 NetScaler

这类硬件负载均衡器通常能同时提供四层和七层负载均衡,但同时也价格不菲

软件负载均衡: ◦TCP 层:LVS,HaProxy,Nginx

基于 HTTP 协议:Haproxy,Nginx,ATS(Apache Traffic Server),squid,varnish

基于 MySQL 协议:mysql-proxy

【一、Nginx能做什么】

1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网路使用的虚拟主机。

3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器

4、解决跨域问题。

【二、安装】

1、yum install nginx,提示No package nginx available。因为nginx位于第三方的yum源里面,而不在centos官方yum源里面,所以先yum install epel-release,待epel安装完后,再yum install nginx

2、service nginx start 启动nginx,在浏览器输入ip地址即可访问nginx的界面,如果访问不了,查看防火墙的访问状态,增加80端口访问

【三、负载均衡配置】

nginx启动之后,我们需要根据需要修改配置文件,可以先使用 ps-ef|grep nginx查看当前使用的配置文件。

在http模块中添加如下配置

  1. upstream servers { 
  2. server 192.168.80.1:8010 weight=10; 
  3. server 192.168.80.10:8010 weight=10; 

把server改为

  1. server { 
  2. listen 80; 
  3. server_name test.nginx.com; 
  4. location / { 
  5. proxy_pass http://servers; 
  6. location /buy { 
  7. proxy_pass http://172.18.144.23:5789/; 
  8. error_page 500 502 503 504 /50x.html; 
  9. location = /50x.html { 
  10. root html; 

最后重启service nginx reload

另外要切记开放防火墙访问端口才可以正常访问的

【编辑推荐】

  1. 网站遭遇CC攻击,高防服务器如何去助力?
  2. 502错误,让你进一步明白Nginx和PHP-FPM之间的关系
  3. Nginx反向代理实现Tomcat集群服务器的负载均衡
  4. 假如有1亿用户的访问量,你的服务器架构是怎样的?
  5. 使用Nginx实现服务器中多容器共存
【责任编辑:武晓燕 TEL:(010)68476606】


点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

读 书 +2018手机认证送彩金

非常网管——网络服务

本书使用通俗易懂的语言,通过大量的实例,从实际应用的角度出发,全面系统地介绍了网络服务操作系统平台、电子邮件系统、Web站点和FTP站点...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
博聚网