代码语言:javascript复制主配置文件 nginx.conf
########### 每个指令必须有分号结束。#################
user root root; #配置用户或者组,默认为nobody nobody。
worker_processes 2; #允许生成的进程数,默认为1
pid /usr/local/tengine/run/nginx.pid; #指定nginx进程运行文件存放地址
worker_rlimit_nofile 102400; #一个进程打开的最大文件数目
events {
accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off
use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
worker_connections 10240; #最大连接数,默认为512
}
http {
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型,默认为text/plain
tcp_nopush on; # 防止网络阻塞
types_hash_max_size 2048;
# 日志优化
#access_log off; #取消服务日志
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; #combined为日志格式的默认值
error_log logs/error.log debug; #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
# 文件上传限制
sendfile on; #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
sendfile_max_chunk 100k; #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
client_max_body_size 100m;
server_names_hash_bucket_size 128; #保存服务器名称的hash表
# proxy 优化
keepalive_timeout 60; #设置超时时间
tcp_nodelay on; #提高数据的实时响应性
client_body_buffer_size 30M; #缓冲区代理缓冲用户端请求的最大字节数
proxy_connect_timeout 5; #nginx和后端服务器连接超时时间(代理连接超时)
proxy_read_timeout 60; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_send_timeout 5; #后端服务器数据回传时间(代理发送超时)
proxy_buffer_size 16k; #设置代理服务器保存用户头部信息的缓冲区大小
proxy_buffers 4 64k; #proxy_buffers 缓冲区
proxy_busy_buffers_size 128k; #高负载下缓冲大小
proxy_temp_file_write_size 128k; #设定缓存文件夹大小
# gzip 优化
gzip on; #开启gzip压缩
gzip_vary on; #在http响应中增加一行目的是改变反向代理服务器的缓存策略
gzip_proxied any;
gzip_comp_level 6; #压缩级别大小
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml rss text/javascript; #压缩类型
include /usr/local/tengine/conf/vhost/*.conf;
}
代码语言:javascript复制vhost 虚拟主机
server {
listen 80; # 监听80端口
listen 443 ssl http2; # 监听443端口,开启http/2协议
server_name alialili.cn ; # 指定域名
ssl_certificate "cert/alialili.cn.pem"; # SSL证书文件
ssl_certificate_key "cert/alialili.cn.key"; # SSL证书密钥
ssl_session_cache shared:SSL:50m; # SSL证书缓存大小
#ssl_session_timeout 5m;
ssl_protocols TLSv1.3 TLSv1.1 TLSv1.2; # TLS加密协议
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; # TLS加密套件
ssl_prefer_server_ciphers on; # 加密套件验证
add_header Strict-Transport-Security "max-age=31536000";
# 开启 OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate cert/alialili.cn.pem;
resolver 233.5.5.5 233.6.6.6 valid=300s;
resolver_timeout 5s;
# 设置 ssl_buffer_size
ssl_buffer_size 4k;
# 设置 SSL SESSION 缓存
ssl_session_tickets on;
access_log logs/alialili.log main;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.1.0.2:80;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}