tengine配置详解

2022-08-30 12:12:10 浏览数 (1)

主配置文件 nginx.conf

代码语言:javascript复制
########### 每个指令必须有分号结束。#################
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;
}

vhost 虚拟主机

代码语言:javascript复制
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";
        }

}

0 人点赞