首页 > 系统相关 >nginx配置优化

nginx配置优化

时间:2024-06-24 11:09:46浏览次数:3  
标签:http log ssl 配置 nginx proxy gzip 优化

user www;
worker_processes auto;
worker_cpu_affinity auto;
worker_rlimit_nofile 65535;        #Nginx 工作进程可以打开的最大文件描述符数量,查看系统文件描述符数再确认
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    use epoll;                    #默认开启的:epoll 是一种在 Linux 操作系统上用于处理大量并发连接的高效事件通知机制
    multi_accept on;             #默认关闭:启用了 Nginx 的多连接接受模式。这意味着 Nginx 在接受新连接时可以一次性处理多个连接。
    worker_connections 20240;     #每个工作进程能够同时处理的最大连接数。(worker_rlimit_nofile > worker_connections)
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    log_format  access_format '[$time_local] "$http_x_forwarded_for" $remote_user "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" - $remote_addr';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    gzip  on;                    #启用Gzip压缩功能
    gzip_min_length  256;        #设置压缩的最小响应体大小
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_types  text/plain application/x-javascript text/css application/xml application/json application/javascript;
    gzip_comp_level 3;
    gzip_vary on;

    include /etc/nginx/conf.d/*.conf;
}

目录conf.d/test.conf

upstream grafana {
        server 192.168.213.224:3000 weight=1 max_fails=2 fail_timeout=3s;
}

server {
    listen 80;
    server_name  grafana.test.cn;
    rewrite ^(.*)$ https://$host$1 permanent;        #HTTP请求重定向到HTTPS请求
}

server {
    listen       443 ssl http2;
    server_name  grafana.test.cn;
    
    ssl_certificate     "/etc/nginx/ssl/test.cn.pem";
    ssl_certificate_key "/etc/nginx/ssl/test.cn.key";
    ssl_session_cache shared:SSL:1m;     #SSL会话缓存的大小
    ssl_session_timeout  10m;            #SSL会话缓存的超时时间
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    
    location / {
        proxy_pass http://grafana;
        rewrite ^/grafana/(.*) /$1 break;
        proxy_buffering  off;                #关闭代理缓冲,适用于实时或动态内容,避免缓冲延迟
        proxy_http_version 1.1;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

 

标签:http,log,ssl,配置,nginx,proxy,gzip,优化
From: https://www.cnblogs.com/tingwei/p/18264621

相关文章

  • Klipper RP2040 display ssd1306 0.96 屏幕配置
    接线屏幕接线parampinGNDGNDVCCVCCSCLSDA编码器接线parampinGNDGNDEN1VCCEN2CLklipper配置#显示屏及旋钮[display]lcd_type:ssd1306#i2c_bus:i2c0dencoder_pins:^gpio24,^gpio23encoder_steps_per_detent:2c......
  • docker拉取镜像超时,配置代理拉取
    近日一些提供公有镜像仓库的组织宣布因监管要求被下架,导致我们很多镜像无法拉取,恢复日期暂不可知,所以只能使用一点魔法1.首先给服务器配置代理,这里使用的是V2free,官网地址如下https://w1.v2ai.top/doc/#/linux/clashhttps://w1.v2ai.top/doc/#/linux/clashweb.htm......
  • 04_搭建一个VUE3前端架子+gitee配置
    1.创建一个文件夹HCJV_012.vscode打开该文件夹,打开终端。3.使用vite安装,选择vue,选择JavaScript,项目名称demo01cnpmcreatevite@latest4.跳转demo01目录下cddemo015.安装cnpmcnpminstall尝试执行下:npmrundev6.安装VueRoutercnpminstallvue-router@47.......
  • VMware Workstation环境下DNS的安装配置,并使用ubuntu来测试
    需求说明:某企业信息中心计划使用IP地址17216.11.0用于虚拟网络测试,注册域名为xyz.net.cn.并将172.16.11.2作为主域名的服务器(DNS服务器)的IP地址,将172.16.11.3分配给虚拟网络测试的DHCP服务器,将172.16.11.4分配给虚拟网络测试的web服务器,将172.16.11.5分配给FTP服务器,将......
  • Ubuntu下安装、运行Nginx
    安装Ubuntu桌面系统(虚拟机)_虚拟机安装ubuntu桌面版-CSDN博客默认情况下,Ubuntu并没有安装Nginx服务。用户可以使用以下命令安装Nginx服务及其相关的组件:liu@ubuntu:~$sudoaptinstallnginx安装完成之后,使用以下命令启用和启动Nginx服务:liu@ubuntu:~$sudosystemctlenab......
  • 简单的聊天程序(二):配置Vue-cli以加速开发
            上一章--简单的聊天程序(一):HTML+CSS实现响应式界面已经实现了响应式的界面,接下来我们要实现一些简单的交互操作。        预期结果     在左边切换不同的对话人物,并显示与其聊天记录;在输入框输入文字后按下发送按钮就会显示在上方的聊天记......
  • 众所周知,配置即代码≠基础设置即代码
    前段时间翻到几条留言,问:“配置即代码和基础设施即代码一样吗?”“配置即代码是什么?怎么都是基础设施即代码?”我们都是知道,DevOp的快速发展,让服务器管理与配置的时间大大减少,配置即代码和基础设施即代码作为DevOps的重要实践,在其中起到了关键性作用。不少人将二者看作是一件事,配......
  • 在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
    在Linux中统计IP访问情况并分析Nginx访问日志,以找出访问页面数量在前十位的IP地址,可以通过一系列命令行工具高效完成。这里以一个典型的工作流程为例,说明如何进行这一分析:1.确定日志文件位置首先,需要知道Nginx的访问日志文件位置。通常,这个文件位于/var/log/nginx/access.log,但......
  • 高级DISM命令,你可以进行全面且深入的Windows映像维护和修复,确保系统的稳定性和性能;DIS
    修复Windows映像通常涉及使用DISM(DeploymentImageServicingandManagement)命令。以下是一个初级的大纲,帮助你理解如何使用DISM命令进行映像修复:1.检查映像健康状态使用DISM命令可以检查和修复损坏的Windows映像文件。以下是一些常用的DISM命令:检查映像健......
  • SpringBoot集成redis配置文件不生效踩坑记录
    SpringBoot版本<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.2</version></parent>导入spring-boot-stater-data-redis依赖<depen......