|
# 定义运行nginx的用户与用户组
user www www;
# nginx的进程数,建议设置为等于CPU总核数
worker_processes 8;
# 全局错误日志定义类型[debug|info|notice|error|crit]
error_log /usr/local/nginx/logs/error.log info;
# 进程pid文件
pid /usr/local/nginx/logs/nginx.pid;
events{
# 设置网路连接序列化,防止惊群现象发生,默认为on
accept_mutex on;
# 设置一个进程是否同事接受多个网络连接,默认为off
multi_accpet on;
# 事件驱动模型[select|poll|kqueue|epoll|resig|/dev/poll|eventport]
use epoll;
# 最大连接数,默认为512
worker_connections 1024;
}
# 设定http服务器,利用它的反向代理功能提供负载均衡支持
http
{
# 常用配置
# 文件扩展名与文件类型映射表
include mime.types;
# 设定通过nginx上传文件的大小
client_max_body_size 8m;
# 长连接超时时间,单位是秒
keepalive_timeout 120;
# 默认文件类型
default_type application/octet-stream;
# 默认编码
charset utf-8;
# 负载均衡配置
upstream lyy.api{
# upstream的负载均衡,weight是权重,可以根据机器配置定义权重,weight参数表示权值,权值越高被分配到的记录越大;down表示当前的server暂时不参与负载;max_fails表示允许请求失败的次数默认为1,当超过最大次数时,返回proxy_next_upstream模块定义的错误;fail_timeout表示max_fails次失败后,暂停的时间;backup表示其他所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻
server 192.168.1.10:80 weight=1 backup;
server 192.168.1.11:80 weight=2 down;
server 192.168.1.12:80 weight=3 max_fails=3 fail_timeout=15;
# nginx的upstream目前支持4种方式的分配
# 1、轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除
# 2、weight:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
# 3、ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题
# 4、fair:按后端服务器的相应时间来分配请求,响应时间短的优先分配。
}
# 虚拟主机的配置
server{
# 监听端口
listen 80;
# 域名可以有多个,用空格隔开
server_name www.lyy.com www.lyy.cn;
index index.html index.htm index.php;
root /data/www/lyy;
# 定义本虚拟主机的访问日志
access_log /usr/local/nginx/logs/host.access.log main;
access_log /usr/local/nginx/logs/host.access.404.log log404;
# 对"/api"启用反向代理
location /api {
# 所有请求了ip:port/api/**的接口都会转发到lyy.api负载配置去
proxy_pass lyy.api;
# 或者直接配置地址
# proxy_pass http:127.0.0.1:11001;
# 允许客户端请求的最大单文件字节数
client_max_body_size 10m;
# 后端服务器连接的超时时间
proxy_connect_timeout 90;
# 后端服务器数据回传超时时间
proxy_send_timeout 90;
# 连接成功后,后端服务器响应超时时间
proxy_read_timeout 90;
}
}
}
|