• Nginx 主配置文件参数详解


    Nginx 主配置文件参数详解
    
    	Nginx 安装完毕后,会有响应的安装目录,安装目录里 nginx.conf 为 nginx 的主配置文件, ginx 主配置文件分为 4 部分,main(全局配置)、server(主机设置)、upstream(负载均衡
    	
    	服务器设)和 location(URL 匹配特定位置的设置),这四者关系为:server 继承 main,
    	
    	location 继承 server,upstream 既不会继承其他设置也不会被继承。
    
    一、Nginx 的 main(全局配置)文件
    
    	[root@rhel6u3-7 server]# vim /usr/local/nginx/conf/nginx.conf
    	
    	user	nginx nginx; //指定 nginx 运行的用户及用户组为 nginx,默认为 nobody
    	
    	worker_processes	2; //开启的进程数,一般跟逻辑 cpu 核数一致
    	
    	error_log logs/error.log notice; //定于全局错误日志文件,级别以 notice 显示。还有 debug、info、warn、error、crit 模式,debug 输出最多,crit 输出最少,更加实际环境而定。
    	
    	pid	logs/nginx.pid; //指定进程 id 的存储文件位置
    	
    	worker_rlimit_nofile 65535; //指定一个 nginx 进程打开的最多文件描述符数目,受系统进程的最大打开文
    	
    	件数量限制
    	
    	events {
    	
    	use epoll; 设置工作模式为 epoll,除此之外还有 select、poll、kqueue、rtsig 和/dev/poll 模式 worker_connections 65535; //定义每个进程的最大连接数 受系统进程的最大打开文件数量限制
    	
    	}
    	
    	
    	[root@rhel6u3-7 server]# cat /proc/cpuinfo | grep "processor" | wc –l	//查看逻辑 CPU 核数
    	
    	[root@rhel6u3-7 server]# ulimit -n 65535	//设置系统进程的最大打开文件数量
    
    
    二、Nginx 的 HTTP 服务器配置,Gzip 配置。
    
    	http {
    	
    	*****************************以下是 http 服务器全局配置*********************************
    	
    	include mime.types; //主模块指令,实现对配置文件所包含的文件的设定,可以减少主配置文件的复杂度,DNS 主配置文件中的 zonerfc1912,acl 基本上都是用的 include 语句
    	
    	default_type	application/octet-stream; //核心模块指令,这里默认设置为二进制流,也就是当文件
    	
    	类型未定义时使用这种方式
    	
    	//下面代码为日志格式的设定,main 为日志格式的名称,可自行设置,后面引用。
    	
    	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 logs/access.log main; //引用日志 main client_max_body_size 20m; //设置允许客户端请求的最大的单个文件字节数
    	
    	client_header_buffer_size 32k; //指定来自客户端请求头的 headebuffer 大小 client_body_temp_path /dev/shm/client_body_temp; //指定连接请求试图写入缓存文件的目录路径 large_client_header_buffers 4 32k; //指定客户端请求中较大的消息头的缓存最大数量和大小,目前
    	设置为 4 个 32KB
    	
    	sendfile	on; //开启高效文件传输模式
    	
    	tcp_nopush	on; //开启防止网络阻塞
    	
    	tcp_nodelay	on; //开启防止网络阻塞
    	
    	keepalive_timeout 65; //设置客户端连接保存活动的超时时间 client_header_timeout 10; //用于设置客户端请求读取超时时间 client_body_timeout 10; //用于设置客户端请求主体读取超时时间 send_timeout 10; //用于设置相应客户端的超时时间
    	
    	//以下是 httpGzip 模块配置
    	
    	#httpGzip modules
    	
    	gzip on; //开启 gzip 压缩 gzip_min_length 1k; //设置允许压缩的页面最小字节数
    	
    	gzip_buffers 4 16k; //申请 4 个单位为 16K 的内存作为压缩结果流缓存 gzip_http_version 1.1; //设置识别 http 协议的版本,默认是 1.1 gzip_comp_level 2; //指定 gzip 压缩比,1-9 数字越小,压缩比越小,速度越快.
    	
    	gzip_types text/plain	application/x-javascript text/css application/xml; //指定压缩的类型
    	
    	gzip_vary on; //让前端的缓存服务器存经过 gzip 压缩的页面
    
    
    三、nginx 的 server 虚拟主机配置
    
    	两种方式一种是直接在主配置文件中设置 server 字段配置虚拟主机,另外一种是使用
    	
    	include 字段设置虚拟主机,这样可以减少主配置文件的复杂性。
    	
    	*****************************以下是 server 主机设置*********************************
    	
    	server {
    	
    	listen	80;	//监听端口为 80
    	
    	server_name	www.rsyslog.org;	//设置主机域名
    	
    	charset gb2312;	//设置访问的语言编码
    	
    	access_log	logs/www.rsyslog.org.access.log	main; //设置虚拟主机访问日志的存放路径及日
    	
    	志的格式为 main
    	
    	location / {	//设置虚拟主机的基本信息
    	
    	root	sites/www;	//设置虚拟主机的网站根目录
    	
    	index	index.html index.htm; //设置虚拟主机默认访问的网页
    	
    	}
    	
    	location /status {	// 查看 nginx 当前的状态情况,需要模块 “--with-http_stub_status_module”支
    	
    	持
    	
    	stub_status on;
    	
    	access_log /usr/local/nginx/logs/status.log; auth_basic "NginxStatus"; }
    	}
    	
    	include /usr/local/nginx/server/www1.rsyslog.org; //使用 include 字段设置 server,内容如下
    	
    	[root@rhel6u3-7 ~]# cat /usr/local/nginx/server/www1.rsyslog.org
    	
    	
    	
    	
    	
    	
    	server {
    	
    	listen	80;
    	
    	server_name	www1.rsyslog.org;
    	
    	location / {
    	
    	root	sites/www1;
    	
    	index	index.html index.htm;
    	
    	}
    	
    	}
    	
    	upstream 模块后面负载均衡再做介绍!
    
    

      

    更多内容请访问 李兴利博客
  • 相关阅读:
    You Don't Know JS: Async & Performance(第2章,Callbacks)
    You Don't Know JS: this & Object Prototypes (第6章 Behavior Delegation)附加的ES6 class未读
    C#抓取网页内容
    输出jq对象
    ASP.NET MVC 常用内置验证特性
    MVC不错的学习资料
    让Entity Framework启动不再效验__MigrationHistory表
    多线程
    递归
    序列化
  • 原文地址:https://www.cnblogs.com/lixingli/p/5539196.html
Copyright © 2020-2023  润新知