• 详解nginx.conf文件配置项(包括负载均衡)


    #运行用户
    user  nobody nobody;
    #启动进程
    worker_processes  2;
    #全局错误日志及PID文件
    error_log  logs/error.log notice;
    pid        logs/nginx.pid;
    #工作模式及连接数上限
    events {
            use epoll;
            worker_connections      1024;
    }
    #设定http服务器,利用它的反向代理功能提供负载均衡支持
    http {
            #设定mime类型
            include       conf/mime.types;
            default_type  application/octet-stream;
            #设定日志格式
            log_format main         '$remote_addr - $remote_user [$time_local] '
                                                    '"$request" $status $bytes_sent '
                                                    '"$http_referer" "$http_user_agent" '
                                                    '"$gzip_ratio"';
            log_format download '$remote_addr - $remote_user [$time_local] '
                                                    '"$request" $status $bytes_sent '
                                                    '"$http_referer" "$http_user_agent" '
                                                    '"$http_range" "$sent_http_content_range"';
            #设定请求缓冲
            client_header_buffer_size    1k;
            large_client_header_buffers  4 4k;
            #开启gzip模块
            gzip on;
            gzip_min_length  1100;
            gzip_buffers     4 8k;
            gzip_types       text/plain;
            output_buffers   1 32k;
            postpone_output  1460;
            #设定access log
            access_log  logs/access.log  main;
            client_header_timeout  3m;
            client_body_timeout    3m;
            send_timeout           3m;
            sendfile                on;
            tcp_nopush              on;
            tcp_nodelay             on;
            keepalive_timeout  65;
            #设定负载均衡的服务器列表
            upstream mysvr {
                    #weigth参数表示权值,权值越高被分配到的几率越大
                    #本机上的Squid开启3128端口
                    server 192.168.8.1:3128 weight=5;
                    server 192.168.8.2:80   weight=1;
                    server 192.168.8.3:80   weight=6;
            }
            #设定虚拟主机
            server {
                    listen          80;
                    server_name     192.168.8.1 www.yejr.com;
                    charset gb2312;
                    #设定本虚拟主机的访问日志
                    access_log  logs/www.yejr.com.access.log  main;
                    #如果访问 /img/*, /js/*, /css/* 资源,则直接取本地文件,不通过squid
                    #如果这些文件较多,不推荐这种方式,因为通过squid的缓存效果更好
                    location ~ ^/(img|js|css)/  {
                            root    /data3/Html;
                            expires 24h;
                    }
                    #对 "/" 启用负载均衡
                    location / {
                            proxy_pass      http://mysvr;
                            proxy_redirect          off;
                            proxy_set_header        Host $host;
                            proxy_set_header        X-Real-IP $remote_addr;
                            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                            client_max_body_size    10m;
                            client_body_buffer_size 128k;
                            proxy_connect_timeout   90;
                            proxy_send_timeout      90;
                            proxy_read_timeout      90;
                            proxy_buffer_size       4k;
                            proxy_buffers           4 32k;
                            proxy_busy_buffers_size 64k;
                            proxy_temp_file_write_size 64k;
                    }
                    #设定查看Nginx状态的地址
                    location /NginxStatus {
                            stub_status             on;
                            access_log              on;
                            auth_basic              "NginxStatus";
                            auth_basic_user_file  conf/htpasswd;
                    }
            }
    }
    运行以下命令检测配置文件是否无误:
      如果没有报错,那么就可以开始运行Nginx了,执行以下命令即可:
      备注:conf/htpasswd 文件的内容用 apache 提供的 htpasswd 工具来产生即可,内容大致如下:
      3.) 查看 Nginx 运行状态
      输入地址 http://192.168.8.1/NginxStatus/,输入验证帐号密码,即可看到类似如下内容:
    Active connections: 291
    server accepts handled requests
    16630948 16630948 31070465
    Reading: 6 Writing: 179 Waiting: 106active connections -- 对后端发起的活动连接数
    server accepts handled requests -- nginx 总共处理了 16630948 个连接, 成功创建 16630948 次握手 (证明中间没有失败的), 总共处理了 31070465 个请求 (平均每次握手处理了 1.8个数据请求)
    reading -- nginx 读取到客户端的Header信息数
    writing -- nginx 返回给客户端的Header信息数
    waiting -- 开启 keep-alive 的情况下,这个值等于 active - (reading + writing),意思就是Nginx说已经处理完正在等候下一次请求指令的驻留连接

  • 相关阅读:
    [机器学习] k-近邻算法(knn)
    [博客] 博客园侧边栏公告设置访问人数及访客国家来源
    Ubuntu搭建hugo博客
    CodeForces
    Javaweb开发入门___1
    JDBC的学习
    Mysql的学习7___权限和数据库设计
    Mysql的学习6____事物,索引,备份,视图,触发器
    Mysql的学习5___Mysql常用函数,聚合函数,sql编程
    Mysql的学习3___数据的管理,主键 外键 以及增改删
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1707109.html
Copyright © 2020-2023  润新知