nginx配置详解

修改nginx的核心配置文件nginx.conf

 

1>     进程数与每个进程的最大连接数

a)         nginx进程数,建议设置为等于CPU的总核心数

//        worker_processes     1;

b)         单个进程最大连接数,服务器最大连接数=连接数*进程数

events {

  worker_connections 1024;

}

 

2>     nginx的基本配置;

a)         监听端口:80;

b)         域名可以有多个,用空格隔开;

server {

  listen                   80;

  server_name     localhost www.test.com;

}

 

3>     反向代理配置

a)         location ~ .php(.*)$  {} :对php后缀结尾的文件进行负载均衡

b)         proxy_pass:请求转向自定义的服务器列表;

location ~.php(.*)$ {

  # 设置主机头和客户端真实地址,以便服务器获取客户端真实IP

  proxy_set_header Host $host;

  proxy_set_header X-Real-IP $remote_addr;

  proxy_set_header X-Forwarded-For $proxy_add_x_forwarkded_fpr;

 

  # 禁用缓存

  # proxy_buffering off;

 

  # 设置反向代理的地址(代理地址根据自己的实际情况修改)

  proxy_pass http://192.168.1.1;

}

 

4>     负载均衡列表基本配置

a)         轮循:nginx系统默认是以轮循的方式实现负载均衡(若后端服务器宕机,自动剔除)

b)         权重:weight 是指轮循的几率,权重和访问率成正比(解决服务器性能不均匀的情况)

c)         ip_hash:每个请求按照ip的hash结果分配(每个访客固定一个后端服务器)

d)         url_hash:按照url的hash结果分配,每个url定向到一个服务器;

e)         fair:按照服务器的响应时间来分配请求。响应时间短的优先分配;

参考链接:http://blog.chinaunix.net/uid-20662363-id-3049712.html

upstream test.com{

  #ip_hash;

  server  192.168.1.100;

  server  192.168.1.123;

  server  192.168.1.200;

  server  192.168.1.234;

}

server {

  listen                   80;

  server_name     www.abc.com;

  location / {

             #  反向代理服务器地址

             proxy_pass http://test.com;

             # 设置主机头和客户端真实地址,以便服务器获取客户端真实IP

           proxy_set_header Host $host;

           proxy_set_header X-Real-IP $remote_addr;

           proxy_set_header X-Forwarded-For $proxy_add_x_forwarkded_fpr;

  }

}

 

5>     nginx的完整的配置如下:

worker_processes  1;

 

events {

   worker_connections  1024;

}

 

http {

   include       mime.types;

   default_type  application/octet-stream;

   sendfile        on;

   keepalive_timeout  65;

 

   upstream test.com{

    #ip_hash;

     server 192.168.1.251;

     server 192.168.1.252;

     server 192.168.1.247;

   }

 

  server {

    listen       80;

    server_name www.abc.com;

 

    location / {

      # 设置主机头和客户端真实地址,以便服务器获取客户端真实IP

      proxy_set_header Host $host;

      proxy_set_header X-Real-IP $remote_addr;

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarkded_fpr;

                           

      # 禁用缓存

      # proxy_buffering off;

                           

      # 设置反向代理的地址(代理地址根据自己的实际情况修改)

      proxy_pass http://test.com;

    }

  }

 

  include vhosts.conf;

}

原文地址:https://www.cnblogs.com/laowenBlog/p/5549869.html