【Nginx学习总结】2. Nginx配置文件

最新版电子发票样式html+css--普通发票+增值发票 【代码】最新版电子发票样式html+css--普通发票+增值发票。 阅读详情

配置文件主要由四部分组成:main(全区设置),server(主机配置),upstream(负载均衡服务器设置),和location(URL匹配特定位置设置)。

1.全局变量


#Nginx的worker进程运行用户以及用户组
user  nobody nobody;

#Nginx开启的进程数,建议为CPU的核数
worker_processes  1;
#worker_processes auto;

#以下参数指定了哪个cpu分配给哪个进程,一般来说不用特殊指定。如果一定要设的话,用0和1指定分配方式.
#这样设就是给1-4个进程分配单独的核来运行,出现第5个进程是就是随机分配了
worker_processes 4     #4核CPU 
worker_cpu_affinity 0001 0010 0100 1000

#定义全局错误日志定义类型,[debug|info|notice|warn|crit]
error_log  logs/error.log  info;

#指定进程ID存储文件位置
#pid        logs/nginx.pid;

#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。
#vim /etc/security/limits.conf
#  *                soft    nproc          65535
#  *                hard    nproc          65535
#  *                soft    nofile         65535
#  *                hard    nofile         65535
worker_rlimit_nofile 65535;

2.事件配置

events {
    #use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
    use epoll;

    #每个进程可以处理的最大连接数,理论上每台nginx服务器的最大连接数为worker_processes*worker_connections。理论值:worker_rlimit_nofile/worker_processes
    #注意:最大客户数也由系统的可用socket连接数限制(~ 64K),所以设置不切实际的高没什么好处
    worker_connections  65535;    

    #worker工作方式:串行(一定程度降低负载,但服务器吞吐量大时,关闭使用并行方式)
    #multi_accept on; 
}

3.HTTP参数

 #文件扩展名与文件类型映射表
    include mime.types;

    #默认文件类型
    default_type application/octet-stream;

#日志相关定义
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
    
    #定义日志的格式。后面定义要输出的内容。
    #1.$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;
    #2.$remote_user :用来记录客户端用户名称;
    #3.$time_local :用来记录访问时间与时区;
    #4.$request  :用来记录请求的url与http协议;
    #5.$status :用来记录请求状态; 
    #6.$body_bytes_sent :记录发送给客户端文件主体内容大小;
    #7.$http_referer :用来记录从那个页面链接访问过来的;
    #8.$http_user_agent :记录客户端浏览器的相关信息

    #连接日志的路径,指定的日志格式放在最后。
    #access_log  logs/access.log  main;

    #只记录更为严重的错误日志,减少IO压力
    error_log logs/error.log crit;
    #关闭日志
    #access_log  off;

    #默认编码
    #charset utf-8;

    #服务器名字的hash表大小
    server_names_hash_bucket_size 128;

    #客户端请求单个文件的最大字节数
    client_max_body_size 8m;

    #指定来自客户端请求头的hearerbuffer大小
    client_header_buffer_size 32k;

    #指定客户端请求中较大的消息头的缓存最大数量和大小。
    large_client_header_buffers 4 64k;

    #开启高效传输模式。
    sendfile        on;

    #防止网络阻塞
    tcp_nopush on;
    tcp_nodelay on;    

    #客户端连接超时时间,单位是秒
    keepalive_timeout 60;

    #客户端请求头读取超时时间
    client_header_timeout 10;

    #设置客户端请求主体读取超时时间
    client_body_timeout 10;

    #响应客户端超时时间
    send_timeout 10;

#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;

#gzip模块设置
    #开启gzip压缩输出
    gzip on; 
    #最小压缩文件大小
    gzip_min_length 1k; 
    #压缩缓冲区
    gzip_buffers 4 16k;
    #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
    gzip_http_version 1.0;
    #压缩等级 1-9 等级越高,压缩效果越好,节约宽带,但CPU消耗大
    gzip_comp_level 2;
    #压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
    gzip_types text/plain application/x-javascript text/css application/xml;
    #前端缓存服务器缓存经过压缩的页面
    gzip_vary on;

4.Nginx状态监控

#Nginx运行状态,StubStatus模块获取Nginx自启动的工作状态(编译时要开启对应功能)
        #location /NginxStatus {

        #    #启用StubStatus的工作访问状态    
        #    stub_status    on;

        #    #指定StubStaus模块的访问日志文件
        #    access_log    logs/Nginxstatus.log;

        #    #Nginx认证机制(需Apache的htpasswd命令生成)
        #    #auth_basic    "NginxStatus";

        #    #用来认证的密码文件
        #    #auth_basic_user_file    ../htpasswd;   
 
        #}

访问:http://IP/NginxStatus(测试就不加密码验证相关) 

5.反向代理(前面的文章有详解)

#以下配置追加在HTTP的全局变量中

#nginx跟后端服务器连接超时时间(代理连接超时)
proxy_connect_timeout      5;
#后端服务器数据回传时间(代理发送超时)
proxy_send_timeout         5;
#连接成功后,后端服务器响应时间(代理接收超时)
proxy_read_timeout         60;

#设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffer_size          16k;
#proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_buffers              4 32k;
#高负荷下缓冲大小(proxy_buffers*2)
proxy_busy_buffers_size    64k;
#设定缓存文件夹大小,大于这个值,将从upstream服务器传
proxy_temp_file_write_size 64k;
#反向代理缓存目录
proxy_cache_path /data/proxy/cache levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=1g;

#levels=1:2 设置目录深度,第一层目录是1个字符,第2层是2个字符
#keys_zone:设置web缓存名称和内存缓存空间大小
#inactive:自动清除缓存文件时间。
#max_size:硬盘空间最大可使用值。

#指定临时缓存文件的存储路径(路径需和上面路径在同一分区)
proxy_temp_path /data/proxy/temp

#服务配置
server {
    #侦听的80端口
    listen       80;
    server_name  localhost;
    location / {
        #反向代理缓存设置命令(proxy_cache zone|off,默认关闭所以要设置)
        proxy_cache cache_one;
        #对不同的状态码缓存不同时间
        proxy_cache_valid 200 304 12h;
        #设置以什么样参数获取缓存文件名
        proxy_cache_key $host$uri$is_args$args;
        #后7端的Web服务器可以通过X-Forwarded-For获取用户真实IP
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   
        #代理设置
        proxy_pass   http://IP; 
        #文件过期时间控制
        expires    1d;
    }
    #配置手动清楚缓存(实现此功能需第三方模块 ngx_cache_purge)
    #http://www.123.com/2017/0316/17.html访问
    #http://www.123.com/purge/2017/0316/17.html清楚URL缓存
    location ~ /purge(/.*) {
        allow    127.0.0.1;
        deny    all;
        proxy_cache_purge    cache_one    $host$1$is_args$args;
    }
    #设置扩展名以.jsp、.php、.jspx结尾的动态应用程序不做缓存
    location ~.*\.(jsp|php|jspx)?$ { 
        proxy_set_header Host $host; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   
        proxy_pass http://http://IP;
    }

6.负载均衡(前面的文章有详解)

#负载均衡服务器池
upstream my_server_pool {
    #调度算法
    #1.轮循(默认)(weight轮循权值)
    #2.ip_hash:根据每个请求访问IP的hash结果分配。(会话保持)
    #3.fair:根据后端服务器响应时间最短请求。(upstream_fair模块)
    #4.url_hash:根据访问的url的hash结果分配。(需hash软件包)
    #参数:
    #down:表示不参与负载均衡
    #backup:备份服务器
    #max_fails:允许最大请求错误次数
    #fail_timeout:请求失败后暂停服务时间。
    server 192.168.1.109:80 weight=1 max_fails=2 fail_timeout=30;
    server 192.168.1.108:80 weight=2 max_fails=2 fail_timeout=30;
}
#负载均衡调用
server {
    ...
    location / {
    proxy_pass http://my_server_pool;
    }
}

7.URL重写 (前面的文章有详解)

#根据不同的浏览器URL重写
  if($http_user_agent ~ Firefox){
  rewrite ^(.*)$  /firefox/$1 break; 
  }
  if($http_user_agent ~ MSIE){
  rewrite ^(.*)$  /msie/$1 break; 
  }
  #实现域名跳转
  location / {
  rewrite ^/(.*)$ https://web8.example.com$1 permanent;
  }

8.IP限制

#限制IP访问
location / {
    deny 192.168.0.2;
    allow 192.168.0.0/24;
    allow 192.168.1.1;
    deny all;
}

转载:https://www.cnblogs.com/waynechou/p/nginx_intro.html

37、基于铁电场效应晶体管(FeFET)的片上深度神经网络(DNN)直接反馈对齐训练 本文提出了一种基于铁电场效应晶体管(FeFET)的深度神经网络(DNN)训练加速器架构,结合直接反馈对齐(DFA)算法和FeFET的独特物理特性,以解决当前DNN训练中反向传播(BP)算法带来的高计算开销、复杂数据依赖和高能耗问题。通过设计基于FeFET的MVM引擎、低功耗ADC和随机数生成器(RNG),该架构在速度和功率效率方面相比现有基于ReRAM的加速器分别提升了1.3倍和2.5倍。研究为未来高效能AI训练硬件的发展提供了新的思路和实现路径。 阅读详情

相关推荐

【科研】Michaelis–Menten 曲线(米氏曲线)中反应速率的计算

Michaelis–Menten 曲线 米氏曲线 纵坐标 反应速率求值 朗伯比尔定律

weixin_42809675的博客 2万+

Nginx配置文件详解

为什么80%的码农都做不了架构师?>>> ...

weixin_33847182的博客 116

如何制作微信小程序的在线购物商城应用

首先,你需要规划好商城的整体框架,确定好你的目标用户群体,思考他们的需求是什么。接下来,使用微信开发者工具创建一个新的小程序项目,输入你的AppID,选择好保存路径,点击“创建”,一个新的商城雏形就诞生了。你可以把这里当作自己的家,无论是工作之余的小憩,还是寻找灵感的驿站,我都希望你能在这里找到属于你的那份快乐和满足。数据是现代商业的灵魂,通过数据分析,你可以更准确地把握用户的行为模式,从而做出更明智的决策。

master_chenchen的博客 2429

nginx通过http_x_forwarded_for限制来访IP示例

#http_x_forwarded_for地址不在下列IP中则返回403 map $http_x_forwarded_for $accessip { default false; 10.10.10.10 true; 10.10.10.11 true; 10.10.10.12 true; 10.10.10.13 true; 10.10.10.14 true; 10.10.10.15 true; 192.168.1.1 true; } #反向代理地址 upstream sandbox-open {

Skywin88的博客 9807

记一次springboot集成海康威视SDK过程

一开始没有接触过物联网这块,走了很多弯路,后面还是自己一点点摸索出来的。有个项目,需要对海康的门禁设备进行集成,后台统一管理设备,进行设备人脸数据的下发、删除等操作。3.我还接入了门禁设备的事件监听,门禁所有的事件都会上报到后台服务,这块代码有需要的可以找我。在linux系统中,sdk我使用的是绝对路径,把Linux版本的文件放到服务时,Acs文件夹下的 各个Manage都有现成的代码,可以根据自己的需要调用即可。路径也不要有中文,切记!2.sdk的存放路径不要有中文,不然会出现很多奇怪的问题。

huang_xiaoen的博客 2350

Cass三角网法土方计算优化技巧:如何根据地形特点调整边界采样间距

本文深入探讨了Cass软件中三角网法(DTM法)土方计算的优化技巧,核心在于如何根据地形的复杂程度动态调整边界采样间距。针对平坦、复杂及人工构造物等不同地形特征,提供了具体的间距调整策略与精度验证方法,旨在帮助工程师在计算精度与效率间找到最佳平衡,实现精细化土方计算。

weixin_29294975的博客 525

nginx访问控制:如何通过map来控制http_x_forwarded_for访问限制

nginx通过防护墙、F5设备过来之后,remote_addr 的地址是防护墙、F5的地址, 客户端真是的IP地址是在 x_forwarded_for中的, 这样这样 nginx 默认的 deny 和 allow 就不能用了。 我们需要在每个域名中判断一个 x_forwarded_for 钟是否有我们要拒绝的IP地址,如果有就返回403,不在往后代理。 我们定义一个map 拒绝的IP地址列表。 cat x_forwarded_for_deny.conf map $http_x_forwarded_for

q421533518的博客 1372

LSTM量化选股实战:从数据清洗到回测归因的工程化闭环

LSTM(长短期记忆网络)是一种专为建模长程依赖而设计的循环神经网络,其门控机制能有效应对金融时序数据的非线性、高噪声与动态演化特性。相比传统统计模型或简单RNN,LSTM在股价趋势建模中展现出更强的鲁棒性与泛化能力,尤其适合处理日频多因子时序信号。其技术价值不仅在于提升预测精度,更在于支撑可归因、可审计的量化策略工程实践——从特征构建、标签定义到滚动回测,每一步都需严防未来信息泄露与过拟合风险。典型应用场景包括A股多因子选股、行业轮动信号生成及Alpha组合优化。本文聚焦LSTM在真实量化场景中的落地难点

weixin_33158887的博客 400

Nginx if的使用教程

变量与正则表达式之间使用"~","~*","!注意:正则表达式字符串一般不需要加引号,但是如果字符串中包含"}"或者是";如果变量名对应的值为空字符串或"0",if都判断为false,其他条件为true。2. 使用"="和"!6. 判断请求的目录或者文件是否存在使用"-e"和"!4. 判断请求的文件是否存在使用"-f"和"!7. 判断请求的文件是否可执行使用"-x"和"!5. 判断请求的目录是否存在使用"-d"和"!"~*"代表匹配正则表达式过程中不区分大小写。"~"代表匹配正则表达式过程中区分大小写,

Blue92120的博客 2240

【WRF教程第3.5期】预处理系统 WPS 详解:以4.5版本为例

预处理系统 WPS 详解:以4.5版本为例

WW、forever的博客 1422

多角度模板匹配的模板创建技巧

基于形状的模板匹配多角度创建技巧

manuoo的专栏 3403

nginx配置文件中对于if条件语句的写法(附nginx跨域文件配置)

前言 在nginx配置文件中,可以使用if语句,但是对于else语句其实是不支持的,并且and条件和or条件也是不支持的 实现 else条件的写法 新建一个开关变量flag,初始值为0,如果为1说明进入了if set $flag 0; if () { // 这里是if的代码 // ----- // 将控制变量置为1,代表已经进入了if set $flag 1; } if ($flag != 1) { // 进入这里说明没有进入if中 // 这里是else的代码 } or条件的写法

蓝枫秋千的踩坑记录 1万+

VCAST创建单元测试工程

选择工作目录,后面创建胡UT工程将会生成到这个目录。

qq_42851449的博客 2485

Nginx学习(2)Nginx相关命令、Nginx配置文件

五、Nginx的常用命令

游王子og的博客 414

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

2、Nginx学习笔记——配置文件

Nginx配置文件 核心配置文件nginx.conf由三部分组成 基本配置 events配置 http配置 ###========================基本配置 #user nobody; #配置worker进程运行用户 worker_processes 1; #配置工作进程数目,根据硬件调整,通常等于CPU数量或者2倍于CPU数量 #error_log logs/erro...

cc_1209的博客 304

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Nginx三部曲学习之-2.nginx.conf配置文件内容的解读

nginx.conf配置文件内容的解读Nginx配置官网链接 1.了解Nginx的文件格式分为:三块 { 全局块 events块 http块(内又分为server块 location块 ) } ... #全局块 events { #events块 ... } http #http块 { ... #http全局块 server #server块 {

qq_45126590的博客 265

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Nginx学习日记(2)---ngnix配置文件解读

今天是学习nginx的第二天,第一天,学习了如何安装,Nginx学习日记(1),可以去看一看。接下来进入正题。 使用过nginx的人应该都知道,nginx的精髓应该就是它的配置文件了,看一个人对ngnix了解不了解,就要看他对配置这个nginx.conf文件熟不熟悉。对于刚入门的同学,一定要多看配置文件。 安装好后的nginx配置文件如下(我添加了一些注释,只是为了让你们对这个更了解) #...

qq_34307159的博客 235

nginx学习笔记4 nginx的配置文件2 虚拟主机的配置

一.什么事虚拟主机 将一个真实服务器,通过虚拟化技术,划分成多个独立的虚拟的子服务器,这些子服务器都在这台真是服务器中,每个虚拟子服务器都是一个虚拟主机。 二.nginx配置虚拟主机有两个步骤,先配置ip,在绑定ip地址与虚拟主机。 三.ip地址的配置(通过linux的命令行)1.查看本机ipifconfig(eth0)设备名称,inet addr的值为本机ip2.为eth0设备指定ipifc

Tiglle的博客 510

学习日记2:nginx配置文件

【首先】 nginx.conf 最上面的的usr 改为root【其次】看下面最后一行 include 包含的*.conf新建个文件如 test.conf内容如下: server { listen 80; server_name www.test.com; #charset koi8-r; access_log /var/lo...

weixin_30782331的博客 92

【原创】学习日记2:nginx配置文件2012.01.06

本文承接http://www.cnblogs.com/wangjiafang/archive/2013/01/07/2848850.html 一文 【首先】nginx.conf 最上面的的usr 改为root【其次】看下面最后一行 include 包含的*.conf新建个文件如 test.conf内容如下: server { listen 80; serv...

weixin_30613343的博客 84

nginx学习笔记(2)---nginx配置文件中优化相关的参数

nginx是一个基于模块设计的应用,它的配置文件也是基于各模块来进行配置的,如:events{}模块,http{}模块,server{}模块等。 这里不对各个配置逐一说明,只针对性能相关的参数设置(最大并发数优化设置、处理能力优化设置)做一些说明。 worker_processes 4; # 设置工作进程的数量。nginx是采用的异步非阻塞事件处理模型,一个进程在短时间内可以响应大

B.I.T 472

web学习笔记Day2--一键安装nginx、日志、配置文件

回顾昨天的学习,思考只要不启动,代码在磁盘里面其实没有什么影响,不会发生冲突;如果启动了,如果没有占用相同的端口也不会发生冲突。冲突的点就是默认想抢占80端口号也可以在机器里编译安装多个nginx,只要不使用相同的端口,就不会冲突。

m0_69298614的博客 338

Linux学习之路-Nginx(2)安装及配置文件篇【23】---20180210

一、Nginx的安装方法及配置介绍1、yum安装官方:http://nginx.org/packages/centos/7/x86_64/RPMSFedora-EPEL:https://mirrors.aliyun.com/epel/7/x86_64/官方yum源[nginx]name=nginx_repobaseurl=ht...

weixin_33939843的博客 122

2.23日学习打卡----初学Nginx(二)

虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响的。

m0_74436895的博客 1433

nginx学习笔记(一)

nginx学习笔记(一)nginx入门学习环境安装过程nginx的基本命令nginx的基本使用启动nginx重载配置文件热部署(即不停机更新)感想 nginx入门 一个个人学习nginx的记录,学这个是为了完成一个关于web防火墙的项目,也为了之后学习的时候可以记起来 学习环境 系统环境:使用的是VMare的虚拟机,装载的系统为Centos64位的Linux发行版。 软件版本:nginx为nginx-1.14.2 安装过程 使用命令 wget http://nginx.org/download/ngin

qq_44073742的博客 413

geektime-nginx项目终极指南:从零基础到Nginx配置大师的完整路径

geektime-nginx项目是极客时间《Nginx核心知识100讲》的配套资源,提供了丰富的Nginx配置文件与代码示例,帮助开发者快速掌握Nginx的核心知识和实践技能。无论是零基础的新手还是有一定经验的开发者,都能通过本项目系统学习Nginx的配置与优化。 ## 📚 项目核心资源概览 项目包含多个关键组成部分,为Nginx学习提供全方位支持: ### 1. 示例配置文件集合 ex

gitblog_00805的博客 406
上一篇: 【Nginx学习总结】1. Nginx基础
下一篇: 【Redis学习总结】1. Redis的安装
Rita楠神
博客等级 码龄9年 27粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值