Nginx平台搭建:Nginx+mysql+php-fpm搭建高性能Nginx平台

前端Nginx:192.168.93.137

后端web1:192.168.93.138

后端web2:192.168.93.139

前端nginx配置:

http {
      ……
        client_max_body_size 300m;
        client_body_buffer_size 128k;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_send_timeout 600;
        proxy_buffer_size 16k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;

upstream  www.lihuipeng.com  {
               #server   192.168.93.137:80;
               server   192.168.93.138:80;
               server   192.168.93.139:80;
       }

upstream  www.lihuipeng007.com  {
               #server   192.168.93.137:80;
               server   192.168.93.138:80;
               server   192.168.93.139:80;
       }

server
       {
               listen  80;
               server_name  www.lihuipeng.com;

location / {
                        proxy_pass        http://www.lihuipeng.com;
                        proxy_set_header   Host             $host;
                        proxy_set_header   X-Real-IP        $remote_addr;
                        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
               }

log_format  lihuipeng  '$remote_addr - $remote_user [$time_local] $request '
                                 '"$status" $body_bytes_sent "$http_referer" '
                                 '"$http_user_agent" "$http_x_forwarded_for"';
               access_log  /home/logs/www.lihuipeng.log  lihuipeng;
       }

server
       {
               listen  80;
               server_name  www.lihuipeng007.com;

location / {
                        proxy_pass        http://www.lihuipeng007.com;
                        proxy_set_header   Host             $host;
                        proxy_set_header   X-Real-IP        $remote_addr;
                        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
               }

log_format  lihuipeng007  '$remote_addr - $remote_user [$time_local] $request '
                                 '"$status" $body_bytes_sent "$http_referer" '
                                 '"$http_user_agent" "$http_x_forwarded_for"';
               access_log  /home/logs/www.lihuipeng.log  lihuipeng007;
       }

}

通过upstream  名字 {}定义后端web的负载机器,然后在虚拟主机中通过 proxy_pass http://名字; 来使用upstream,再自定义一下日志格式,以获取用户的IP

后端web配置:

server
        {
                listen       80;
                server_name www.lihuipeng.com;
                index index.html index.php;
                root  /home/www/www.lihuipeng.com;
                access_log  /home/logs/access_www.lihuipeng.com.log;

if (-d $request_filename){
                        rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
                }

error_page   500 502 503 504 404 403 http://www.lihuipeng.com;

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
                        expires 30d;
                }

location ~ .*\.(js|css)?$ {
                        expires 6h;
                }

location ~ .*\.(log|txt)$
                {
                        deny all;
                }

location ~ .*\.(php)?$
                {
                        fastcgi_pass  127.0.0.1:9000;
                        fastcgi_index index.php;
                        include fcgi.conf;
                }
        }

server
        {
                listen       80;
                server_name www.lihuipeng007.com;
                index index.html index.php;
                root  /home/www/www.lihuipeng007.com;
                access_log  /home/logs/access_www.lihuipeng007.com.log;

if (-d $request_filename){
                        rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
                }

error_page   500 502 503 504 404 403 http://www.lihuipeng007.com;

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
                        expires 30d;
                }

location ~ .*\.(js|css)?$ {
                        expires 6h;
                }

location ~ .*\.(log|txt)$
                {
                        deny all;
                }

location ~ .*\.(php)?$
                {
                        fastcgi_pass  127.0.0.1:9000;
                        fastcgi_index index.php;
                        include fcgi.conf;
                }
        }

这样一个简单的nginx负载均衡就完成!

PS:Nginx负载的五种模式,也就是upstream的模式

1 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自
动剔除。
2 weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

upstream www.lihuipeng.com {
server 192.168.93.138 weight=10;
server 192.168.93.139 weight=10;
}

3 ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以
解决session的问题。

upstream www.lihuipeng.com{
ip_hash;
server 192.168.93.138:80;
server 192.168.93.139:80;
}

4 fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
5 url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务
器为缓存时比较有效。

upstream www.lihuipeng.com{
server 192.168.93.138:80;
server 192.168.93.139:80;
hash $request_uri;
hash_method crc32;
}

用得比较多得应该是第3、5这两种吧!

后端的web文件同步有很多选择了,可以做nfs、rsync等!

转载于:https://blog.51cto.com/lihuipeng/701509

Nginx 负载均衡 配置全过程相关推荐

  1. Nginx负载均衡配置和健康检查

    Nginx负载均衡配置和健康检查 注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. nginx的强大之处不必要我细说,当初第一次接触ngin ...

  2. nginx负载均衡配置-windows

    http://www.2cto.com/os/201302/191589.html nginx负载均衡配置-windows 虽然说windows上的nginx在官方文档中提到"仅作为测试&q ...

  3. Nginx负载均衡配置实例

    五.Nginx负载均衡配置实例 实现效果:访问 www.123.com/edu/a.html的时候,将请求平均分配到8080和8081端口. 准备工作: 1)准备两台Tomcat服务器(端口号为808 ...

  4. Nginx负载均衡配置实例详解

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...

  5. Nginx负载均衡配置实例详解(转)

    | 时间:2013-09-05 20:19:17 | 阅读数:810738 [导读] 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的 ...

  6. Tomcat集群快速入门:Nginx负载均衡配置,常用策略,场景及特点

    Nginx负载均衡的配置,常用策略,场景,以及特点,放到这里是需要更细化的讲解,毕竟一期还没有做集群,而我们这一期做集群的时候,很多点要单独拿出来深入讲解,第一个轮询,默认的一个配置,简单也好理解,第 ...

  7. Nginx负载均衡配置策略

    转自:http://www.freeoa.net/osuport/cluster/nginx-load-equilibrium-configuration-strategy_1652.html Ngi ...

  8. nginx负载均衡配置,宕机自动切换方式

    拓展:https://blog.csdn.net/u011477914/article/details/84381509   nginx负载均衡,服务器集群配置,服务器挂机自动切换 (这篇文章写得也很 ...

  9. 超详细Linux -- nginx负载均衡配置

    Nginx 负载均衡应用配置 Nginx实现负载均衡的方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,后端服务器宕机时,能被自动删除,且请求不会受影响. 2.weight权重 指 ...

最新文章

  1. 微软官方pe工具_小白用户如何制作系统启动版,微软出官方工具啦,简单一键制作...
  2. Grafana Labs 携手阿里云,将提供国内首款 Grafana 托管服务
  3. [导入]通过简易的前台代码实现无限二级域名转向(来自无忧 biyuan老矣)
  4. python检查https过期_记录用certbot续签HTTPS时,python的pip源出现问题
  5. [js高手之路]原型对象(prototype)与原型链相关属性与方法详解
  6. 为何解析浏览器地址参数会为null_request 包中出现 DNS 解析超时的探究
  7. idea的setting界面怎么进_Mac版YY语音进入频道失败怎么破?
  8. java进程生产者消费者_生产者与消费者(多线程经典案例)
  9. 用两万篇论文告诉你:机器学习在过去五年中发生了什么
  10. 连接Oracle时,navicat可以登录,但是用plsql登录会报 ora-01017:invalid username/password; logon denied
  11. python编程100个小程序-用python编写一个闹钟小程序
  12. yaaw 错误 “No such method: aria2.addTorrent”的解决办法
  13. 2021年3月最新-李沐-动手学深度学习第二版-中、英文版
  14. 医院基本流程-挂号收费
  15. 一个上海同济大学教师的工资单(zt tianya)
  16. docker中的volumes
  17. itunes无法安装到win7系统更新服务器,win7系统无法安装itunes应用程序的解决方案...
  18. 服务器配置(IIS服务器安装)
  19. 索引是什么,怎么确定索引
  20. 2021年江西工业互联网安全技术技能大赛线上初赛Writeup

热门文章

  1. Java事务管理之Hibernate
  2. 山西评计算机高级职称,山西专业技术职称评审不再统一组织外语和计算机能力考试...
  3. ubuntu mysql ftp_ubuntu上搭建vsftpd且通过mysql来管理FTP账号
  4. php i++和++i的区别,初学者搞懂i++和++i
  5. TaskService API
  6. 模型人的因素_肺癌风险预测模型中纳入肺功能如何?
  7. python窗口动态实时显示时间_量化交易实时动态监视系统(纯Python,只需要浏览器就能用)-直接GitHub开源可下载...
  8. jmap查看java进程占用的数据库连接数
  9. linux服务器 缓存,Linux服务器内存使用分析及内存缓存
  10. 计算机操作员高级工试题一,计算机操作员高级工操作题复习资料