Nginx配置记录
Posted HaSaKing_721
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx配置记录相关的知识,希望对你有一定的参考价值。
############# 配置影响nginx全局的指令 ###############
user root; #配置用户或者组
worker_processes 4;#允许生成的进程数
error_log logs/error.log info;#制定日志路径,级别。
pid logs/nginx.pid; #指定nginx进程运行文件存放地址
############## 配置影响nginx服务器或与用户的网络连接 ##############
events {
accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off
use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
worker_connections 1024; #最大连接数
}
############## TCP 长连接配置准备 ##############
stream{
log_format proxy '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time "$upstream_addr" '
'"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';#日志自定义格式
access_log /opt/software/nginx/logs/tcp-access.log proxy ; #日志
open_log_file_cache off;
}
############## 配置代理 ##############
http {
include mime.types;#文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型
log_format main '$remote_addr - $remote_user [$time_iso8601] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; #日志自定义格式 main
access_log logs/access.log main; #日志
client_max_body_size 50m;#限制请求体的大小,若超过所设定的大小,返回413错误
sendfile off;#允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
server_tokens off; #隐藏版本号
tcp_nopush on;# 置与tcp_nodelay“互斥”。它可以配置一次发送数据包的大小。也就是说,数据包累积到一定大小后就发送。
keepalive_timeout 600;# 连接超时时间 秒
proxy_connect_timeout 18000; #半个小时 该指令设置与upstream server的连接超时时间
proxy_send_timeout 18000;#发送请求给upstream服务器的超时时间
proxy_read_timeout 18000;#与代理服务器的读超时时间
proxy_buffer_size 128k;#指定了 upstream header 最大长度,如果响应头超过了这个长度,Nginx会报upstream sent too big header错误,然后client收到的是502。
proxy_buffers 4 64k;#设置存储被代理服务器响应的body所占用的buffer个数和每个buffer大小
proxy_busy_buffers_size 128k;#proxy_buffers和proxy_buffer_size
tcp_nodelay on;# 把小包组成成大包,提高带宽利用率,nagle算法
fastcgi_intercept_errors on; #是否传递4xx和5xx错误信息到客户端
fastcgi_connect_timeout 300;#指定连接到后端FastCGI的超时时间
fastcgi_send_timeout 300;#向FastCGI传送请求的超时时间,这个值是指已经完成两次握手后向FastCGI传送请求的超时时间
fastcgi_read_timeout 300;#接收FastCGI应答的超时时间,这个值是指已经完成两次握手后接收FastCGI应答的超时时间。
fastcgi_buffer_size 64k;#指定读取FastCGI应答第一部分需要用多大的缓冲区
fastcgi_buffers 4 64k;#指定本地需要用多少和多大的缓冲区来缓冲FastCGI的应答。
fastcgi_busy_buffers_size 128k;#默认值是fastcgi_buffers的两倍
fastcgi_temp_file_write_size 128k;#在写入fastcgi_temp_path时将用多大的数据块
fastcgi_next_upstream error timeout invalid_header http_500; #建立了一个可以根据健康状况轮询并可以重试的资源池
underscores_in_headers on;##该属性默认为off,表示如果header name中包含下划线,则忽略掉
##压缩
gzip on; #开启
gzip_min_length 1k;#设置压缩最小单位,小于不压缩
gzip_buffers 4 32k;#设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流
gzip_http_version 1.0;#识别http的协议版本。
gzip_comp_level 2;#gzip压缩比/压缩级别,1-9
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/javascript;#压缩类型
gzip_vary on;#根据客户端的HTTP头来判断,是否需要压缩
############## upstream配置 ##############
#max_conns 节点的最大连接数
#slow_start 缓慢启动时间
#down 节点下线
#backup 备用节点
#max_fails 允许的最大失败数
#fail_timeout 超过最大失败数后的等待时间
#weight 权重
## ip_hash;#依据请求来源IP对真实服务器的分配
#网关路由
upstream gateway_9999 {
server 192.168.0.1:9999 max_fails=2 fail_timeout=10s weight=1 ;
}
server {
listen 81;
server_name localhost;
add_header 'Access-Control-Allow-Origin' '*';
location ~* .*\\.(gif|jpg|JPG|JPEG|PNG|jpeg|png|zip|xlsx|xls|apk|xml|css|js|html)$ {
root /data/yf;
index index.html index.htm;
}
}
include /usr/local/nginx/conf/conf.d/*.conf;
}
以上是关于Nginx配置记录的主要内容,如果未能解决你的问题,请参考以下文章
Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段