nginx的配置

nginx 在配置服务器中的时候可以起到缓和tomcat的作用,也有影藏服务器地址的作用

下面就是具体来讲讲nginx 是如何配置

1.在下载的nginx中找到nginx.conf文件

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    include       /etc/nginx/mime.types;  
    default_type  application/octet-stream;  
  
    log_format  main  '$proxy_add_x_forwarded_for - $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;  
    
    client_header_buffer_size 128k;
  
    sendfile        on;  
    #tcp_nopush     on;  
  
    keepalive_timeout  30;  
  
    #gzip  on;  
    upstream mmm.maofk.top {  
    server 127.0.0.1:9999;  
    }
    
    server {
    listen       80;     
        server_name  mmm;     
        charset utf-8;     
        location / {     
            root   html;     
            index  index.html index.htm;     
            proxy_pass        http://127.0.0.1:9999;   
      			proxy_pass_header User-Agent; 			
      			proxy_set_header Host $host;
      			proxy_set_header X-Real-IP $remote_addr;
      			proxy_set_header REMOTE-HOST $remote_addr;
      			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 	
            client_max_body_size  100m;
            client_body_buffer_size 128k;
            proxy_buffer_size 64k;
            proxy_buffers 16 64k;
            proxy_busy_buffers_size 64k;	
        }     
    
    
        location ~ ^/(WEB-INF)/ {      
        deny all;      
        }      
    
        error_page   500 502 503 504  /50x.html;     
        location = /50x.html {     
            root   /var/www/html/;     
        } 
    }
    upstream load_balance_server {
        server 127.0.0.1:8888;
        server 127.0.0.1:8878 backup;
    }
    server {
    listen       80;     
        server_name  api.;     
        charset utf-8;     
        location / {     
            root   html;     
            index  index.html index.htm;  
            proxy_http_version 1.1;
            proxy_set_header Connection "";	   
            proxy_pass        http://load_balance_server;   
      			proxy_pass_header User-Agent; 			
      			proxy_set_header Host $host;
      			proxy_set_header X-Real-IP $remote_addr;
      			proxy_set_header REMOTE-HOST $remote_addr;
      			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 	
            client_max_body_size  100m;
            client_body_buffer_size 128k;
            proxy_buffer_size 64k;
            proxy_buffers 16 64k;
            proxy_busy_buffers_size 64k;	
        }     
    
    
        location ~ ^/(WEB-INF)/ {      
        deny all;      
        }      
    
        error_page   500 502 503 504  /50x.html;     
        location = /50x.html {     
            root   /var/www/html/;     
        } 
    }
    
    server { 

        listen 443 ssl;
        ssl on;
        server_name top;
        ssl_certificate   cert/215081331740.pem;
        ssl_certificate_key  cert/21508133174.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
            root   html;     
            index  index.html index.htm;    
			      proxy_http_version 1.1;
            proxy_set_header Connection "";			
            proxy_pass        http://127.0.0.1:8888;   
      			proxy_pass_header User-Agent; 			
      			proxy_set_header Host $host;
      			proxy_set_header X-Real-IP $remote_addr;
      			proxy_set_header REMOTE-HOST $remote_addr;
      			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto  $scheme;
            proxy_redirect   http:// https://;	
            client_max_body_size  100m;
            client_body_buffer_size 128k;
            proxy_buffer_size 64k;
            proxy_buffers 16 64k;
            proxy_busy_buffers_size 64k;
        }
        
        location ~ ^/(WEB-INF)/ {      
        deny all;      
        }      
    
        error_page   500 502 503 504  /50x.html;     
        location = /50x.html {     
            root   /var/www/html/;     
        } 

    }
	
}


worker_connections 1024; #工程进程的最大链接数量,理论上每台nginx 服务器的最大链接数为
worker_processes*worker_connections worker_processes 为我们再main中开启的进程数

include mime.types;
default_type application/octet-stream; #类型由mime.type 文件定义 该文件内定义指定文件头所对应的文件格式

client_header_buffer_size 128k; 客户端请求头部缓冲区大小 这个可以根据你的系统分页大小来设置,一般一个请求的 头部大小不会超过1k, 我这里设置的是128k

sendfile on; sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为 on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统负载

tcp_nopush on; 此选项允许或禁止使用socket的TCP_CORK的选项,此选项仅在使用sendfile的时候使用,默认为on

下面就是重点配置 前面的可以忽视
upstream load_blance_server{
server 127.0.00.1:6666;
server 127.0.0.1:7777 backup;(配置多个服务 backup 其它所有的非backup机器down或者忙的时候,请求backup 机器。所以这台机器压力会最轻。
weight(权重)
ip_hash(访问ip 每个请求按访问ip的hash结果分配,可以解决session的问题
fair(第三方 按后端服务器的响应时间分配请求)url_hash()down 表示单前的server暂时不参与负载)
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误.
fail_timeout : max_fails次失败后,暂停的时间。 )

}			

	server {配置只要监听事件 
					listen     监听端口号
					server_name   监听的域名
					charset  指定字符集(默认utf-8)
					location /{
							root     html(默认)
							index  index.html  index.html;
							proxy_http_version 1.1
							proxy_set_header Connection ""
							proxy_pass    http://127.0.0.1:8888(需要代理的ip,这里可以配置负载均衡)
							.............
					}
				}	

监听 441 接口是监听https 协议 这里是需要一些验证的证书 才能转

nginx -s reload|reopen|stop|quit #重新加载配置|重启|停止|退出 nginx
nginx -t #测试配置是否有语法错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值