nginx配置文件使用的是啥语言

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置文件使用的是啥语言相关的知识,希望对你有一定的参考价值。

nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把 Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这篇是目前最完整的Nginx配置参数中文说明了。

#定义Nginx运行的用户和用户组

user www www;

#nginx进程数,建议设置为等于CPU总核心数。

worker_processes 8;

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

error_log ar/loginx/error.log info;

#进程文件

pid ar/runinx.pid;

#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。

worker_rlimit_nofile 65535;

#工作模式与连接数上限

events



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

use epoll;

#单个进程最大连接数(最大连接数=连接数*进程数)

worker_connections 65535;



#设定http服务器

http



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

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

#charset utf-8; #默认编码

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

client_header_buffer_size 32k; #上传文件大小限制

large_client_header_buffers 4 64k; #设定请求缓

client_max_body_size 8m; #设定请求缓

sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改 成off。

autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。

tcp_nopush on; #防止网络阻塞

tcp_nodelay on; #防止网络阻塞

keepalive_timeout 120; #长连接超时时间,单位是秒

#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 on; #开启gzip压缩输出

gzip_min_length 1k; #最小压缩文件大小

gzip_buffers 4 16k; #压缩缓冲区

gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)

gzip_comp_level 2; #压缩等级

gzip_types text/plain application/x-javascript text/css application/xml;

#压缩类型,默认就已经包含textml,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。

gzip_vary on;

#limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用
参考技术A 授之以鱼不如授之以渔,用whereis
nginx命令可以找到所有有关目录,可以在其中的目录中找到.conf的文件。
求采纳!

更好的方法是啥:使用 Express 或 nginx 提供静态文件?

【中文标题】更好的方法是啥:使用 Express 或 nginx 提供静态文件?【英文标题】:What's the better approach: serving static files with Express or nginx?更好的方法是什么:使用 Express 或 nginx 提供静态文件? 【发布时间】:2017-12-01 10:31:33 【问题描述】:

我正在构建一个 Node.js 应用程序,并且我正在使用 nginx 作为反向代理。我的应用程序有一些我需要提供的静态文件和一个 Socket.io 服务器。

我知道我可以直接使用 Express 提供静态文件(使用 express.static 中间件)。我也可以将 nginx 直接指向我的静态文件所在的目录,这样它们将由 nginx 提供服务。

那么,问题来了:哪种方法更好?在使用每种方法时,我会面临哪些优缺点?

【问题讨论】:

@Dextication 不是重复的。 Express.js 和 Node.js 不一样。 【参考方案1】:

用于开发:express,主要是因为它提供了灵活性……您可以在开发过程中非常轻松地更改静态位置和结构

用于生产:nginx,因为它要快得多。 Node/express 非常适合执行逻辑,但对于提供原始内容......没有什么能比得上 nginx。您还可以获得其他功能,例如 gzip、负载平衡...

尽管如此,这个问题已经在 *** 中被问过很多次了:见

node.js itself or nginx frontend for serving static files? 或 Using Node.js only vs. using Node.js with Apache/Nginx 或 Which is most efficient : serving static files directly by nginx or by node via nginx reverse proxy?

【讨论】:

【参考方案2】:

The Express documentation explicitly recommends using a reverse proxy where possible。引用this article:

Nginx 可以更好地处理静态文件,并且可以防止对非动态内容的请求阻塞我们的节点进程。

有很多文章讨论了这个主题更详细,但我肯定会听取 Express 开发人员提出的建议。

【讨论】:

以上是关于nginx配置文件使用的是啥语言的主要内容,如果未能解决你的问题,请参考以下文章

./configure --prefix=nginx-root 这句代码是啥意思 求详解

nginx配置文件中怎么把hostname的值赋给其它变量

Nginx配置文件详细介绍

nginx配置二级域名(多级域名)

logback.xml是啥文件?

nginx读文件速度