Nginx干货(二)配置详解

此篇就不矫情了。直接上个配置吧。以后若有更新,继续修补

  • /usr/local/nginx/conf目录下面的nginx.conf文件
以用户nginx的身份来运行
user nginx;
启动进程,通常设置成和cpu数量相等
worker_processes  10;
全局错误日志
error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;
Pid文件存放路径
pid	/var/run/nginx.pid;
工作模式及连接数上限设置
events {

	# epoll是多路复用IO(I/O Multiplexing)中的一种方式 支持linux2.6以上内核
	use epoll;

	# 单个后台worker process进程最大并发连接数
	worker_connections  1024;

	# 优化同一时刻只有一个请求而避免多个睡眠进程被唤醒的设置,on为防止被同时唤醒,默认为off,因此nginx刚安装完以后要进行适当的优化。
	accept_mutex on;

	# 打开同时接受多个新网络连接请求的功能。
	multi_accept on;
}
设置http服务器
http {

	# 隐藏nginx版本号
	server_tokens off;
	
	# 文件扩展名与文件类型映射表
     include       mime.types;
	
	# 默认文件类型
     default_type  application/octet-stream; 
	
	# 设置日志格式
	access_log /var/log/nginx/access.log;
	
	# 请求体最大容量
     client_max_body_size 500M; 
	
	# 开启高效文件传输模式		
     sendfile        on;
	
	# 长连接超时时间 单位秒
     keepalive_timeout  65;

	# 开启gzip压缩
     gzip  on;	
	
	# 设定请求缓冲
	client_header_buffer_size    1k;    
	large_client_header_buffers  4 4k;
	
	# 引入外部配置文件
	include /usr/local/nginx/conf/conf.d/*.conf;
	
	# FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。
	fastcgi_connect_timeout 900;
	fastcgi_send_timeout 300;
	fastcgi_read_timeout 300;
	fastcgi_buffer_size 128k;
	fastcgi_buffers 2 256k;
	fastcgi_busy_buffers_size 256k;
	fastcgi_temp_file_write_size 256k;
}
  • /usr/local/nginx/conf.d目录(注,此目录是小轩自己创建的哟

a.conf文件

代理tomcat

upstream tomcat-servers {
# weight代表权重的意思,当前配置也是一个代理tomcat集群的配置,当前使用的方式是权重方式,除此之外还有轮询的方式还有基于ip分配等多种方式。
server 192.168.1.11:8080 weight 1;
server 192.168.1.12:8080 weight 6;
}

server配置
server {
    # 端口监听
	listen 80;
    # 基于域名的方式分配虚拟主机
	server_name xxxxxxxxx.com;

   # 拦截路径
	location /HanYiAPP_SystemManage {
         # 注意如果这里项目的context-path不为"/"则“http://tomcat-servers/project” project为项目的context-path
         proxy_pass http://tomcat-servers;
		proxy_redirect    off;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header Host $http_host;
         # 容灾处理
		proxy_next_upstream http_502 http_504 error timeout invalid_header;
         #nginx跟后端服务器连接超时时间(代理连接超时)
         proxy_connect_timeout 600;
         #连接成功后,后端服务器响应时间(代理接收超时)
		proxy_read_timeout    600;  
         #后端服务器数据回传时间(代理发送超时)
		proxy_send_timeout    600;         
         #设置代理服务器(nginx)保存用户头信息的缓冲区大小     
		proxy_buffer_size     32k;              
         #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
		proxy_buffers         4 32k;         
         #高负荷下缓冲大小(proxy_buffers*2)   
		proxy_busy_buffers_size  64k;        
         #设定缓存文件夹大小,大于这个值,将从upstream服务器传   
		proxy_temp_file_write_size  64k;      
	}
	#文件服务器
        location /file {
            # 允许跨域请求。所有连接都可跨域
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';                              
            # 文件服务器根目录		
            root /home/public/hart_file;
		   #是否可以访问目录下内容
		   autoindex on;
		   # 是否展示真实文件大小 on:展示真实大小bytes
		   autoindex_exact_size off;
		   #是否展示文件时间为GMT时间 on : 文件服务器时间
		   autoindex_localtime on;
	       add_header Cache-Control "no-cache, must-revalidate";
	}
}
posted @ 2017-12-16 14:16  叶云轩  阅读(360)  评论(0编辑  收藏  举报