X
活动推荐

阿里云高性能云主机2折293元/年

企业级性能云服务器限时2折起
新用户5折爆款服务器会场
查看详情
阅读模式:

nginx配置负载均衡

查看:4029  回复: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

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

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:7563javascript点击复制内容   阅读:5673phpexcel 超简单从数据库一键导出数据到excel教程   阅读:6412php 生成图片,给图片加水印   阅读:4853nginx编译安装后对nginx进行平滑升级   阅读:5208centos7.3安装mongodb3.6   阅读:6174栈和堆的区别   阅读:4288mysql5.7主从同步配置   阅读:3202mysql的四种索引类型   阅读:18579php打印九九乘法表   阅读:8014centos7.3安装mongodb3.6   阅读:6174什么是天使轮?什么是A轮融资?B轮融资?   阅读:3533linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:14025移动端自适应rem原理   阅读:8642javascript点击复制内容   阅读:5673Nginx 配置文件详解   阅读:3990mysql5.7主从同步中binlog同步模式详解   阅读:4772linux top命令详解   阅读:7852nginx安装redis模块   阅读:3492php 使用 smtp.php 类在线发送邮件功能   阅读:4769linux php7编译安装mongodb扩展   阅读:7282php 使用 smtp.php 类在线发送邮件功能   阅读:4769centos 7.2 添加php7 的 php-fpm 开机启动   阅读:20793给 centos 7 安装桌面环境   阅读:15599php 生成图片,给图片加水印   阅读:4853Nginx 配置文件详解   阅读:3990shell脚本统计当前服务器并发连接数   阅读:6049php 生成图片,给图片加水印   阅读:4853最简单的Banner轮播左右切换效果代码及实现思路(附带源码)   阅读:28677nginx编译安装后对nginx进行平滑升级   阅读:5208centos 7 安装 php-7.1.3   阅读:17159centos 7 修改系统屏幕分辨率   阅读:38369面试的时候回去等通知,等电话的真实意思   阅读:20755程序员找工作三要素(必看)   阅读:4954php冒泡排序法   阅读:12164javascript对cookie操作详细代码函数   阅读:4655php文件下载防盗链   阅读:8713“米粉节”背后的故事——小米网抢购系统开发实践   阅读:3534关于PHP程序员技术职业生涯规划   阅读:2006程序员找工作三要素(必看)   阅读:4954知乎百万赞作者告诉你:年薪百万的人都在靠什么赚钱   阅读:5318网站性能优化-页面静态缓存   阅读:4803网站性能优化-页面静态缓存   阅读:4803什么是天使轮?什么是A轮融资?B轮融资?   阅读:3533linux php7编译安装mongodb扩展   阅读:7282php打印三角形   阅读:6926mongodb设置shell开机启动脚本   阅读:8228爱编程,也爱健康   阅读:3537linux php7编译安装mongodb扩展   阅读:7282php打印三角形   阅读:6926