ngnix配置,


#查看进程:ps -ef|grep nginx
#干掉进程:pkill -9 nginx   或 ./nginx -s stop
#重新加载配置文件:./nginx -s reload
#启动进程:/opt/eoc/nginx/nginx/sbin/nginx 
#重启命令:sudo service nginx restart


#高层的配置


#user  root; #定义Nginx运行的用户和用户组
#worker_processes  auto; #nginx进程数,建议设置为等于CPU总核心数,设置为“auto”将尝试自动检测它
error_log  /usr/local/nginx/logs/nginx_error.log  info; #全局错误日志及PID文件
pid        /usr/local/nginx/logs/nginx.pid; #进程文件
worker_rlimit_nofile 65535; #更改worker进程的最大打开文件数限制 65535




#Events模块:包含nginx中所有处理连接的设置


events #工作模式及连接数上限
{                           
use epoll; #设置用于复用客户端线程的轮询方法。如果你使用Linux 2.6+,你应该使用epoll。如果你使用*BSD,你应该使用kqueue。
worker_connections  65535; #单个进程最大连接数(最大连接数=连接数*进程数)
multi_accept on; #告诉nginx收到一个新连接通知后接受尽可能多的连接
}




#HTTP模块:控制着nginx http处理的所有核心特性


http #设定http服务器,利用它的反向代理功能提供负载均衡支持
{                            
include       mime.types; #文件扩展名与文件类型映射表
default_type  application/octet-stream; #默认文件类型
charset utf-8; #设定编码格式


#设定请求缓冲
server_names_hash_bucket_size 128; #保存服务器名字的hash表
client_header_buffer_size     32k; #用于指定来自客户端请求头的headerbuffer大小
large_client_header_buffers   4 32k; #Http核心模块指令,用来指定客户端请求中较大的消息头部的缓存最大数量和大小,4为个数,128k为大小,最大缓存为4个128k




## 这里取得原始用户的IP地址
map $http_x_forwarded_for  $clientRealIp 
{    
""    $remote_addr;    
~^(?P<firstAddr>[0-9\.]+),?.*$    $firstAddr;



## 针对原始用户 IP 地址做限制
## 用户的 IP 地址 $binary_remote_addr 作为 Key,每个 IP 地址最多有 50 个并发连接
## 你想开 几千个连接 刷死我? 超过 50 个连接,直接返回 503 错误给你,根本不处理你的请求了
#limit_conn_zone $clientRealIp zone=TotalConnLimitZone:20m ;  #容器共使用20M的内存来对于IP传输开销

#limit_zone   one  $binary_remote_addr  20m;
#limit_conn  TotalConnLimitZone  50;
#limit_conn_log_level notice; 


## 针对原始用户 IP 地址做限制
## 用户的 IP 地址 $binary_remote_addr 作为 Key,每个 IP 地址每秒处理 10 个请求
## 你想用程序每秒几百次的刷我,没戏,再快了就不处理了,直接返回 503 错误给你
#limit_req_zone $clientRealIp zone=ConnLimitZone:20m  rate=10r/s;
## 最多 5 个排队, 由于每秒处理 10 个请求 + 5个排队,你一秒最多发送 15 个请求过来,再多就直接返回 503 错误给你了
#limit_req zone=ConnLimitZone burst=5 nodelay;
#limit_req_log_level notice;




#设定日志格式
    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  /usr/local/nginx/logs/access.log  main;
error_log   /usr/local/nginx/logs/error.log   info; #告诉nginx只能记录严重的错误


server_tokens           off; #并不会让nginx执行的速度更快,但它可以关闭在错误页面中的nginx版本数字,这样对于安全性是有好处的
sendfile                on; #开启高效文件传输模式
tcp_nopush              on; #告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送
tcp_nodelay             on; #告诉nginx不要缓存数据,而是一段一段的发送--当需要及时发送数据时,就应该给应用设置这个属性


#nginx超时设置 
keepalive_timeout      120; #给客户端分配keep-alive链接超时时间。服务器将在这个超时时间过后关闭链接。我们将它设置低些可以让ngnix持续工作的时间更长。
client_header_timeout  120; #设置请求头的超时时间
client_body_timeout    120; #设置请求体的超时时间
client_max_body_size    1000m;
reset_timedout_connection on; #告诉nginx关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间。
send_timeout           120; #指定客户端的响应超时时间。这个设置不会用于整个转发器,而是在两次客户端读取操作之间。如果在这段时间内,客户端没有读取任何数据,nginx就会关闭连接。


gzip on; #告诉nginx采用gzip压缩的形式发送数据。这将会减少我们发送的数据量
gzip_min_length 1k; #设置对数据启用压缩的最少字节数。如果一个请求小于1000字节,我们最好不要压缩它,因为压缩这些小的数据会降低处理此请求的所有进程的速度。
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 4; #gzip_comp_level 设置数据的压缩等级。这个等级可以是1-9之间的任意数值,9是最慢但是压缩比最大的。我们设置为4,这是一个比较折中的设置。
gzip_types text/plain application/x-javascript text/css application/xml; #设置需要压缩的数据格式
gzip_vary on;


#设定负载均衡的服务器列表


# 消息系统
upstream message 
{
server 192.168.171.231:8082 weight=1 fail_timeout=2 max_fails=1;
server 192.168.171.231:8082 weight=1 fail_timeout=2 max_fails=1;
}
upstream bi
        {
                server 192.168.171.231:8981 weight=1 fail_timeout=2 max_fails=1;
                server 192.168.171.231:8981 weight=1 fail_timeout=2 max_fails=1;
        }
upstream peccancy
        {
                server 192.168.171.231:8751 weight=1 fail_timeout=2 max_fails=1;
                server 192.168.171.231:8751 weight=1 fail_timeout=2 max_fails=1;
        }


upstream ms
        {
                server 192.168.171.231:5081 weight=1 fail_timeout=2 max_fails=1;
                server 192.168.171.231:5081 weight=1 fail_timeout=2 max_fails=1;
        }
upstream telecom
        {
                server 192.168.171.231:8990 weight=1 fail_timeout=2 max_fails=1;
                server 192.168.171.231:8990 weight=1 fail_timeout=2 max_fails=1;
        }
# 网关 访问入口:eoc_gw
upstream gw 
{
server 192.168.171.231:8082 weight=1 fail_timeout=2 max_fails=1;            #upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。
#server 192.168.171.231:8081 weight=1 fail_timeout=2 max_fails=1;            #max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误,fail_timeout:max_fails 次失败后,暂停的时间。 #这2个参数一起配合,来控制nginx怎样认为upstream中的某个server是失效的当在fail_timeout的时间内,某个server连接失败了max_fails次,则nginx会认为该server不工作了。同时,在接下来的 fail_timeout时间内,nginx不再将请求分发给失效的server。
}

# 网关 访问入口:eoc_gw_tcp
upstream gw_tcp 
{
server 192.168.171.231:8089 weight=1 fail_timeout=2 max_fails=1;            #upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。
server 192.168.171.231:8089 weight=1 fail_timeout=2 max_fails=1;            #max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误,fail_timeout:max_fails 次失败后,暂停的时间。 #这2个参数一起配合,来控制nginx怎样认为upstream中的某个server是失效的当在fail_timeout的时间内,某个server连接失败了max_fails次,则nginx会认为该server不工作了。同时,在接下来的 fail_timeout时间内,nginx不再将请求分发给失效的server。
}

# 推送系统 
upstream push 
{
server 192.168.171.235:8983 weight=2 fail_timeout=2 max_fails=1;
#server 192.168.171.231:8983 weight=1 fail_timeout=2 max_fails=1;
}

# 内容平台 
upstream content 
{
server 192.168.171.231:8082 weight=1 fail_timeout=2 max_fails=1;
server 192.168.171.231:8082 weight=1 fail_timeout=2 max_fails=1;
}

# dispatch平台 
upstream dispatch 
{
server 192.168.171.231:8082 weight=1 fail_timeout=2 max_fails=1;
server 192.168.171.231:8082 weight=1 fail_timeout=2 max_fails=1;
}


# Eoc_gw_udp平台 
upstream gw_udp 
{
server 192.168.171.231:3456 weight=1 fail_timeout=2 max_fails=1;
server 192.168.171.231:3456 weight=1 fail_timeout=2 max_fails=1;
}

upstream trip
      {
               server 192.168.171.231:8983 weight=1 fail_timeout=2 max_fails=1;
               server 192.168.171.231:8983 weight=1 fail_timeout=2 max_fails=1;
      }
 
  upstream fc
  {
  server 192.168.171.231:8981 weight=1 fail_timeout=2 max_fails=1;
  server 192.168.171.231:8981 weight=1 fail_timeout=2 max_fails=1;
  }
      
  upstream interlink
      {
               server 192.168.171.231:8091 weight=1 fail_timeout=2 max_fails=1;
               server 192.168.171.231:8091 weight=1 fail_timeout=2 max_fails=1;
      }
      
   upstream ubicustomer
      {
               server 192.168.171.231:5082  weight=1 fail_timeout=2 max_fails=1;
               server 192.168.171.235:5082  weight=1 fail_timeout=2 max_fails=1;
      }
      upstream renew
      {
                server 192.168.171.231:8581 weight=1 fail_timeout=2 max_fails=1;
                server 192.168.171.231:8581 weight=1 fail_timeout=2 max_fails=1;
      }



include /usr/local/nginx/conf/eoc_ecar_com.conf; #引入反向代理配置文件 20
}

相关内容

    暂无相关文章