Skip to content

main 上下文

nginx.conf 配置文件,如果块指令可以在大括号内包含其他指令,则称为上下文(例如: events、 http、 server 和 location)。

sh
# nginx进程,一般设置为和cpu核数一样
worker_processes  1;

# 错误日志存放目录
error_log  ./logs/error.log;

# 进程pid存放位置
pid ./nginx.pid;

events {
    # 单个后台worker process进程的最大并发链接数
    worker_connections 1024;
}

http {
    # 文件扩展名与类型映射表
    include       mime.types;
    # 默认的文件类型
    default_type  application/octet-stream;
    # 开启高效传输模式
    sendfile        on;
    # 激活tcp_nopush参数可以允许把httpresponse header和文件的开始放在一个文件里发布,积极的作用是减少网络报文段的数量
    tcp_nopush     on;
    # 激活tcp_nodelay,内核会等待将更多的字节组成一个数据包,从而提高I/O性能
    tcp_nodelay     on;
    # 连接超时时间,单位是秒
    keepalive_timeout  65;
    # 开启gzip压缩功能
    gzip  on;
    gzip_min_length  10k;

	# 负载均衡的服务器
    upstream server_8080{
        server 127.0.0.1:8080;
    }

    # 反向代理http
    server {
        listen 80 http2;
        server_name example.com;

        # 代理本地
        location / {
            proxy_pass  http://server_8080/;
        }
    }

    # 反向代理https,启动http2
    server {
        listen       443 ssl http2;
        server_name example.com;

        # 证书文件路径
        ssl_certificate ./xxxx.pem;
        ssl_certificate_key ./xxxx.pem;
        ssl_trusted_certificate ./xxxx.pem;

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

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

        # 代理本地
        location / {
            proxy_pass  http://server_8080/;
        }
    }
}