阅读模式:

nginx配置负载均衡

查看:183  回复:0  类型:  来源:php自学网  标签

        nginx负载均衡的配置。把请求通过nginx的反向代理分发到多台服务器处理,可以减轻单台服务器的处理压力,提高访问速度。

一、增加nginx负载均衡代码

    1.nginx配置文件http模块中增加

#请求处理的服务器列表
upstream zixuephp {
    server 127.0.0.1:81 weight=1; #服务器1  weight权重,这里是访问6词有一次是这台服务器
    server 106.12.107.148:80 weight=5; #服务器2
}

    2.请求反向代理

server {
    listen 80;
    #多域名用空格隔开
    server_name zixuephp.net www.zixuephp.net m.zixuephp.net;

    #设置默认访问首页
    index index.html index.php;
    
    #反向代理到服务器池
    location / {
        proxy_pass  http://zixuephp;
        proxy_set_header Host      $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

二、完整nginx.conf配置文件代码

    这里配置的是负载服务器和主服务器为同一台服务器

#定义nginx运行的用户和用户组
user  www www;

#设置nginx进程数,一般设置为cpu核心数,auto为自动检测
worker_processes  auto;

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
error_log  logs/error.log;
#error_log  logs/error.log  warn;
#error_log  logs/error.log  info;
#error_log  logs/error.log  debug;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  crit;

#守护进程pid文件
pid        logs/nginx.pid;

#events模块中包含nginx中所有处理连接的设置
events {
    #单个进程最大连接数(最大连接数=连接数*进程数)
    worker_connections  1024;
    #设置nginx收到一个新链接通知后接受尽可能多的链接
    multi_accept on;
    #设置用于复用客户端线程的轮训方法
    use epoll;       
}


#http模块控制着nginx http处理的所有核心特性
http {

    #文件扩展名与文件类型映射表
    include       mime.types;

    #默认文件类型
    default_type  application/octet-stream;

    #打开或关闭错误页面中的nginx版本号deng
    server_tokens on;

    #客户请求头缓冲大小
    large_client_header_buffers 4 64k;

    #设定通过nginx上传文件的大小
    client_max_body_size 1024M;

    
    client_body_buffer_size 2048k;

    #开启高效文件传输模式,优化磁盘IO设置
    sendfile        on;

    gzip  on;

    #允许或禁止压缩基于请求和相应的响应流,any代表压缩所有请求
    gzip_proxied any;

    #==设置数据压缩等级,1-9之间,9最慢压缩比最大
    gzip_comp_level 9;

    #设置需要压缩的数据格式
    gzip_types text/plain text/css text/xml text/javascript application/json application/x-javascript application/xml application/xml+rss;
    
    #服务器分发池列表
    upstream zixuephp {
        server 127.0.0.1:81 weight=1;
        server 106.12.107.148:80 weight=5;
    }
    
    #负载均衡请求分发
    server {
        listen 80;
        #多域名用空格隔开
        server_name zixuephp.net www.zixuephp.net wowphp.net m.zixuephp.net www.wowphp.net;

        #设置默认访问首页
        index index.html index.php;

        location / {
            #所有请求反向代理到服务器池中的服务器
            proxy_pass  http://zixuephp;
            proxy_set_header Host      $host;
            proxy_set_header X-Real-IP $remote_addr;
        }

    }

    #虚拟主机配置
    server {
        listen 81;
        listen 443 ssl;
        
        ssl_certificate /usr/local/nginx/ssl/web.crt;
        ssl_certificate_key /usr/local/nginx/ssl/web.key;
        ssl_session_timeout  5m;
        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
        ssl_prefer_server_ciphers   on;

        #多域名用空格隔开
        server_name zixuephp.net www.zixuephp.net m.zixuephp.net;

        #设置默认访问首页
        index index.html index.php;

        #默认编码
        charset utf-8;

       access_log logs/access.log;

        #错误设置
        error_page   500 502 503 504 404  /404.html;
        
        #缓存
        location ~ .*\.(gif|jpg|jpeg|png|bmp)$ {
            expires       7d;

            #禁止缓存
            #add_header Cache-Control no-store;
            #valid_referers none blocked server_names *.baidu.com *.google.com;
            #if ($invalid_referer) {
            #   rewrite ^/ http://zixuephp.gz01.bdysite.com/static/images/no_call_file.jpg;
            #   #return 403;
            #}
         }

        #网站伪静态
        location / {
            rewrite "^/index.html$" /index.php last;
            rewrite "^/iphp.html$" /iphp.php last;
            rewrite "^/tag.html$" /tag.php last;
            rewrite "^/tag-([0-9]+).html$" /tag.php?tid=$1 last;
            rewrite "^/tag-([0-9]+)-page([0-9]+).html$" /tag.php?tid=$1&page=$2 last;
            rewrite "^/login.html$" /login.php last;
            rewrite "^/post.html$" /post.php last;
            rewrite "^/article.html$" /article.php last;
            rewrite "^/article-([0-9]+).html$" /article.php?aid=$1 last;
            rewrite "^/iphp-([0-9]+).html$" /iphp.php?mid=$1;
            rewrite "^/iphp-([0-9]+)-([0-9]+).html$" /iphp.php?mid=$1&cid=$2 last;
            rewrite "^/iphp-([0-9]+)-page([0-9]+).html$" /iphp.php?mid=$1&page=$2;
            rewrite "^/iphp-c([0-9]+)-page([0-9]+).html$" /iphp.php?cid=$1&page=$2;
            rewrite "^/search.html$" /search.php;
            rewrite "^/tool.html$" /tool.php last;
            rewrite "^/tool-html.html$" /tool-html.php last;
            rewrite "^/tool-ip.html$" /tool-ip.php last;
            rewrite "^/tool-css.html$" /tool-css.php last;
            rewrite "^/tool-domain-ip.html$" /tool-domain-ip.php;
             rewrite "^/tool-view-source-code.html$" /tool-view-source-code.php;
            rewrite "^/tool-md5.html$" /tool-md5.php;
            rewrite "^/tool-base64.html$" /tool-base64.php;
            rewrite "^/tool-url.html$" /tool-url.php;
             rewrite "^/tool-imagebase64.html$" /tool-imagebase64.php;
             rewrite "^/about.html$" /about.php;
            rewrite "^/message.html$" /message.php;
            rewrite "^/tool-http.html$" /tool-http.php;
             rewrite "^/tool-apk-md5-sign.html$" /tool-apk-md5-sign.php;
            rewrite "^/tool-apk-detail.html$" /tool-apk-detail.php;
            rewrite "^/tool-runcode.html$" /tool-runcode.php;
            rewrite "^/tool-runcode-static.html$" /tool-runcode-static.php;
            rewrite "^/tool-http-request.html$" /tool-http-request.php;
            rewrite "^/ebooks.html$" /ebooks.php;
            rewrite "^/content.html$" /content.php;
            rewrite "^/content-([0-9]+).html$" /content.php?id=$1;
               
        }

        #nginx解析php脚本
        location ~ \.php$ {
        #屏蔽 File not found. 错误设置
       try_files $uri =404;
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
            index          index.php index.html;
        }

    }

}
分享到:
0 0

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:21969“米粉节”背后的故事——小米网抢购系统开发实践   阅读:2221centos 7 安装 nginx-1.11.10   阅读:4576php设置cookie为HttpOnly防止XSS攻击   阅读:5710session与cookie的区别   阅读:2233封装php redis缓存操作类   阅读:4100centos 7 忘记root密码   阅读:2307php 使用 smtp.php 类在线发送邮件功能   阅读:3161php 使用 smtp.php 类在线发送邮件功能   阅读:3161知乎百万赞作者告诉你:年薪百万的人都在靠什么赚钱   阅读:3149php翻转字符串   阅读:460centos7开启交换内存   阅读:5110把php session 会话保存到redis   阅读:3802centos 7 安装 mysql-5.7   阅读:3189php中地址引用&的真正理解-变量引用、函数引用、对象引用   阅读:2954php生成二维码   阅读:2877“米粉节”背后的故事——小米网抢购系统开发实践   阅读:2221web性能测试工具ab的测试方法   阅读:2605php打印三角形   阅读:812shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:4864shell发送邮件脚本   阅读:1530最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:6429php中地址引用&的真正理解-变量引用、函数引用、对象引用   阅读:2954浅谈javascript的函数节流   阅读:2214shell脚本统计当前服务器并发连接数   阅读:3454给 centos 7 安装桌面环境   阅读:11693centos 7 安装 mysql-5.7   阅读:3189纯干货,程序员面试的超实用技巧   阅读:2082php 统计网页打开耗时和脚本运行内存   阅读:3653php冒泡排序法   阅读:4808人性漫画:打工与创业的残酷区别   阅读:2387phpexcel 超简单从excel表格一键导入数据到数据库教程   阅读:7548mysql5.7开启sql日志的配置   阅读:3987linux教程,鸟哥私房菜(pdf全集)   阅读:2793解决 nginx 413 request entity too large   阅读:2307php中地址引用&的真正理解-变量引用、函数引用、对象引用   阅读:2954移动端js触摸touch详解(附带案例源码)   阅读:8296phpexcel 超简单从数据库一键导出数据到excel教程   阅读:3934给网站添加一键qq登录的功能   阅读:3771HTTP 1.1 协议详解   阅读:3625mysql中文分词全文搜索索引讯搜的安装   阅读:3321给 centos 7 安装桌面环境   阅读:11693javascript获取两个日期间的所有日期   阅读:1584linux top命令详解   阅读:3841纯干货,程序员面试的超实用技巧   阅读:2082给网站添加一键新浪微博登录的功能   阅读:3792php 生成图片,给图片加水印   阅读:3309linux命令中执行php脚本   阅读:3272移动端自适应rem原理   阅读:6579centos 7 安装 samba 服务   阅读:3099