Nginx配置负载均衡,查看Nginx的运行状态

前面已经发布了Nginx的安装,虚拟主机的配置,反向代理的配置,今天把Nginx负载均衡的配置发布上去。
首先,打开Nginx配置文件
Vi /etc/nginx/nginx.cnf
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
    server_tokens   off;
    gzip            on;
    gzip_static     on;
    gzip_comp_level 5;
    gzip_min_length 1024;
    keepalive_timeout  65;
    limit_zone   myzone  $binary_remote_addr  10m;
     upstream www.domain.com {
         server 222.186.41.118;
         server 222.186.41.174;
}
    # Load config files from the /etc/nginx/conf.d directory
    include /etc/nginx/conf.d/*.conf;
    server {
        limit_conn   myzone  10;
        listen       80;
         server_name  www.domain.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
         location / {
            proxy_pass              http://www.domain.com;
            proxy_redirect          off;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 50m;
            client_body_buffer_size 256k;
            proxy_connect_timeout 30;
            proxy_send_timeout 30;
            proxy_read_timeout 60;
            proxy_buffer_size 256k;
            proxy_buffers 4 256k;
            proxy_busy_buffers_size 256k;
            proxy_temp_file_write_size 256k;
            proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
            proxy_max_temp_file_size 128m;
        }
       location /status {
            stub_status on;
            access_log off;
            error_log off;
 }
选定的位置是我做的修改。这样就可以实现Nginx负载均衡了,但前提是后端源服务器要保证数据的一致性。
最后添加的status模块,是查看Nginx的运行状态。
http://www.domain.com/status
Active connections: 1 
server accepts handled requests
66 66 98 
Reading: 0 Writing: 1 Waiting: 0 
备注:
active connections�C 对后端发起的活动连接数
server accepts handled requests�C nginx 总共处理了 30871298 个连接, 成功创建 30871298 次握手,总共处理了 105864919个请求
reading�C nginx 读取到客户端的Header信息数
writing�C nginx 返回给客户端的Header信息数
waiting�C 开启 keep-alive 的情况下,这个值等于 active �C (reading + writing),意思就是Nginx说已经处理完正在等候下一次请求指令的驻留连接
如果reading或writing的值很高,说明正在处理的数据量很大,可能是因为后端的 php 程序处理慢,拖了后腿,而一般来说,PHP之后以慢,是因为MYSQL,另一个原因很可能就是IO慢,或者客户端的网络慢(这种情况在国内常见些).

你可能感兴趣的:(nginx,负载均衡,职场,休闲)