热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

nginx的配置详解

nginx的配置文件nginx.conf内放置了所有的这个nginx的配置和可以修改的自定义的参数这些参数是很多的需要我们去发掘去寻找nginx.conf的一个简单配置#usern

 

 

nginx的配置文件nginx.conf内放置了所有的这个nginx的配置和可以修改的自定义的参数

这些参数是很多的  需要我们去发掘去寻找

 

 

nginx.conf 的一个简单配置

#user nobody;
worker_processes 1; # 指定nginx指定启动进程,可以根据cpu核数来优化:#error_log logs/error.log; # 记录nginx的错误日志
#
error_log logs/error.log notice;
#
error_log logs/error.log info;#pid logs/nginx.pid;
events {worker_connections 1024;
}http {
# 配置你整个网站的配置
include mime.types;default_type application/octet-stream;# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;
sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65; # 保持长链接的时间#gzip on;# 虚拟主机标签段
server {listen 80; # 监听的端口
server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;# location / { # 你输入的信息
#
root html; # 默认寻找配置
#
index index.html index.htm; # 寻找路径下的文件
#
}location / {root /opt/static/; # 现在指定这个根路径是/opt/static/index index.html inde.html; # 只要前面的index 后面的有一个对的都去查找
}# redirect server error pages to the static page /50x.html#
error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}

View Code

 

nginx前几天我碰到了一个问题就是你的上传文件的时候 一到大文件就会进行报错  不可以使用这个时候 是因为nginx的一个配置信息

 

nginx502 这个是上传大文件的时候出错

这个原因一般都是你的参数设置有问题

502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

 

我们需要在nginx.conf中的http的参数中设置:

http {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 /var/log/nginx/access.log main;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;
  # 设置大文件上传的参数client_max_body_size 100m; # 控制全局nginx所有请求报文大小proxy_connect_timeout 300s; # 连接时间proxy_send_timeout 300s; # 代理服务器发送时间proxy_read_timeout 300s; # 等待时间

client_max_body_size : 控制上传文件大小

proxy_connect_timeout: 定义一个nginx 与real server 建立链接的超时时间,通常不要超过75秒.默认:60s

proxy_send_timeout:  定义一个nginx向 real server发送请求的超时时间,超时只在两次连续写入操作之间设置, 而不是用于传输整个请求,如果real server在此时间内没有收到任何内容,则连接将关闭。

proxy_send_timeout:定义一个nginx向 real server发送请求的超时时间,超时只在两次连续写入操作之间设置, 而不是用于传输整个请求,如果real server在此时间内没有收到任何内容,则连接将关闭。

 

 

具体配置:

  

http服务器
与提供http服务相关的一些配置参数。例如:是否使用keepalive啊,是否使用gzip进行压缩等。sendfile on
开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,减少用户空间到内核空间的上下文切换。对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I
/O处理速度,降低系统的负载。keepalive_timeout 65 : 长连接超时时间,单位是秒,这个参数很敏感,涉及浏览器的种类、后端服务器的超时设置、操作系统的设置,可以另外起一片文章了。长连接请求大量小文件的时候,可以减少重建连接的开销,但假如有大文件上传,65s内没上传完成会导致失败。如果设置时间过长,用户又多,长时间保持连接会占用大量资源。send_timeout : 用于指定响应客户端的超时时间。这个超时仅限于两个连接活动之间的时间,如果超过这个时间,客户端没有任何活动,Nginx将会关闭连接。client_max_body_size 10m
允许客户端请求的最大单文件字节数。如果有上传较大文件,请设置它的限制值client_body_buffer_size 128k
缓冲区代理缓冲用户端请求的最大字节数
模块http_proxy:
这个模块实现的是nginx作为反向代理服务器的功能,包括缓存功能(另见文章)proxy_connect_timeout
60
nginx跟后端服务器连接超时时间(代理连接超时)
proxy_read_timeout
60
连接成功后,与后端服务器两个成功的响应操作之间超时时间(代理接收超时)proxy_buffer_size 4k
设置代理服务器(nginx)从后端realserver读取并保存用户头信息的缓冲区大小,默认与proxy_buffers大小相同,其实可以将这个指令值设的小一点proxy_buffers
4 32k
proxy_buffers缓冲区,nginx针对单个连接缓存来自后端realserver的响应,网页平均在32k以下的话,这样设置proxy_busy_buffers_size 64k
高负荷下缓冲大小(proxy_buffers
*2)proxy_max_temp_file_size
当 proxy_buffers 放不下后端服务器的响应内容时,会将一部分保存到硬盘的临时文件中,这个值用来设置最大临时文件大小,默认1024M,它与 proxy_cache 没有关系。大于这个值,将从upstream服务器传回。设置为0禁用。proxy_temp_file_write_size 64k
当缓存被代理的服务器响应到临时文件时,这个选项限制每次写临时文件的大小。proxy_temp_path(可以在编译的时候)指定写到哪那个目录。

nginx 对文件限制的详解

 

 

 

nginx的负载均衡池子:

 

 

1、proxy_pass    # 负载一个地址

2、upstream   #可以负载多个地址

 

 

出了上面的proxy_pass可以做负载均衡之外 还可以使用upstream 定义一个负载均衡池

 

具体是在ngin.conf中修改配置:

 

 

 我可以现在server外http内定义一个upstream  +下面要指定的地址名字 

upstream + 要转发的地址名{server +要转发的ip端口 weight=10;(weight=10代表最高权重 可以加或者不加)}下面要转发的时候直接转发到这个定义的名字上就可以了upstream django{server 0.0.0.0:9000 weight=10;}# 虚拟主机标签段 ,这里定义mytb.com
server {listen 80; # 监听的端口#server_name www.mytb.com;
server_name localhost;location / {#deny 60.168.97.34;#deny 192.168.20.91;#proxy_pass http://127.0.0.1:9000;#
include /opt/nginx1-12/conf/uwsgi_params; # 分发到这个自带的配置文件内#uwsgi_pass 0.0.0.0:9000; # 然后指定分发uwsgi启动的端口
uwsgi_pass django;#root /opt/static/mytb/;#index index.html inde.html; }

 

然后再重启nginx  就可以使用了

 

转:https://www.cnblogs.com/zhaoyunlong/p/10275397.html



推荐阅读
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
author-avatar
大女人爱上淘包_502
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有