Nginx【config结构和常用配置】


前言

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,它的低开销高性能的优势,在现在的服务器部署工具中,仍是绝对的主流。


一、nginx配置结构

//...全局块
event {
	//....事件块	
}

http {
	//... http配置块
	server {
		//...服务块
		location {
			//...路由块
		}
	}
}

二、模块详解及常用配置

全局块

主要作用

全局块,用来配置一些全局性的东西。比如nginx线程数、日志配置、进程pid文件、用户组等

常用配置

# 设置值和CPU核心数一致
worker_processes 8;
# 日志位置和日志级别
error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; 
# pid文件存放位置
pid /usr/local/webserver/nginx/nginx.pid; 

event块

主要作用

用来配置nginx的事件模型、以及事件相关配置

常用配置

event {
	# 设置工作模式为epoll,除此之外还有select,poll,kqueue,rtsig和/dev/poll模式
	use epoll;
	# 定义每个进程的最大连接数,受系统进程的最大打开文件数量限制
	worker_connections  1024;
}

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; #上传文件大小限制
	large_client_header_buffers 4 64k; #设定请求缓冲
	client_max_body_size 8m; #设定请求缓冲
	sendfile on; #开启高效文件传输模式,对于普通应用设为on,如果用来进行下载等应用磁盘IO重负载应用,可	设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
	autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。
	tcp_nopush on; #防止网络阻塞
	tcp_nodelay on; #防止网络阻塞
	keepalive_timeout 120; #长连接超时时间,单位是秒
	
	#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。
	fastcgi_connect_timeout 300;
	fastcgi_send_timeout 300;
	fastcgi_read_timeout 300;
	fastcgi_buffer_size 64k;
	fastcgi_buffers 4 64k;
	fastcgi_busy_buffers_size 128k;
	fastcgi_temp_file_write_size 128k;

	#gzip模块设置
	gzip on; #开启gzip压缩输出
	gzip_min_length 1k; #最小压缩文件大小
	gzip_buffers 4 16k; #压缩缓冲区
	gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
	gzip_comp_level 2; #压缩等级
	gzip_types text/plain application/x-javascript text/css application/xml; #压缩类型
	gzip_vary on; #增加响应头'Vary: Accept-Encoding'
	limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用
}

server块

主要作用

  • 配置网络监听
  • 配置https服务
  • 基于名称的虚拟主机配置
  • 基于IP的虚拟主机配置

常用配置

#虚拟主机的常见配置
server {
    listen       80; #配置监听端口
    server_name  localhost; #配置服务名
    charset utf-8; #配置字符集
    access_log  logs/host.access.log  main; #配置本虚拟主机的访问日志
    
    location / {
        root html; #root是配置服务器的默认网站根目录位置,默认为Nginx安装主目录下的html目录
        index index.html index.htm; #配置首页文件的名称
    }
    
    error_page 404             /404.html; #配置404错误页面
    error_page 500 502 503 504 /50x.html; #配置50x错误页面
}

#配置https服务,安全的网络传输协议,加密传输,端口443
server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      cert.pem;
    ssl_certificate_key  cert.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root   html;
        index  index.html index.htm;
    }
}

location块

主要作用

  • 请求根目录配置更改
  • 网站默认首页配置
  • location的URI

常用配置

location {
	client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,
	proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
	proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
	proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
	proxy_buffer_size 4k; #设置代理服务器(Nginx)保存用户头信息的缓冲区大小
	proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置
	proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
	proxy_temp_file_write_size 64k;  #设定缓存文件夹大小
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯一样的MEI男子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值