Nginx配置文件参数详解

Nginx的配置文件为一个纯文本文件,整个配置文件以块的形式组织。main、events、http、server、location.一个http模块中可以包含多个server模块,同理一个server模块中也可以包含多个location模块。下面为Nginx的示例配置文件。

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

user  nobody;

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

worker_processes  1;

#进程文件

pid nginx.pid;

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

error_log  logs/error.log  notice;

#一个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模型。

worker_connections  65535;

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

use epoll;

}

#设定http服务器

http {

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

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

#日志记录格式

log_format main      ‘$remote_addr - $remote_user [$time_local]‘

‘"$request" $status $bytes_sent ‘

‘"$http_referer" "$http_user_agent" ‘

‘"$gzip_ratio"‘;

log_format download  ‘$remote_addr - $remote_user [$time_local]‘

‘"$request" $status $bytes_sent ‘

‘"$http_referer" "$http_user_agent" ‘

‘"$http_range" "$sent_http_content_range"‘;

#日志名称,和日志记录格式采用main

access_log  logs/access.log  main;

#允许客户端请求的最大单文件字节数。

client_max_body_size 20M;

#该指令用于设置客户端请求的Header头缓冲区大小,默认值为4KB。

client_header_buffer_size    4k;

#设置用于读取大客户机请求头文件的最大数量和大小。

large_client_header_buffers  4 8k;

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

client_body_timeout    10; #指定客户端请求主体读取超时时间。

send_timeout           10; #指定响应客户端的超时时间。

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

sendfile         on;

tcp_nopush       on; #防止网络阻塞

tcp_nodelay      on; #防止网络阻塞

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

gzip on; #开启gzip压缩输出。

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

gzip_http_version 1.1; #压缩版本。

gzip_buffers     4 8k; #压缩缓冲区。

gzip_comp_level 2;  #压缩等级。

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

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

gzip_vary on;  #如果指令gzip,gzip_static,或gunzip活跃,启用插入“Vary: Accept-Encoding响应标头字段。

#定义虚拟主机开始的关键字。

server {

listen 80;  #指定虚拟机的服务端口。

server_name www.jason1.com;  #用来指定ip地址或者域名。

access_log logs/host.access.log main;  #设置虚拟主机的访问日志存放路径,main指定日志输出格式。

server_name_in_redirect off;

location / {

index index.html;                   #指定访问的默认首页。

root /usr/local/nginx/html/jason1;  #设置虚拟机的网页个目录,该目录可以为绝对路径也可以为相对目录。

}

error_page  404               /404.html;    #指定各种错误返回页面。

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   /usr/local/nginx/html;

}

location /status {

stub_status on;                                      #设置为on,表示启动stubstatus的工作状态统计功能(在1.7.5之前的版本,该参数必须指定参数on。1.7.5之后版本只需指定stub_status)。

access_log /usr/local/nginx/logs/status.log;         #用来指定stubstatus模块的访问日志。

auth_basic "NginxStatus";                            #开启使用“HTTP基本认证”协议的用户名密码验证。 指定的参数被用作 域。 参数off可以取消继承自上一个配置等级 auth_basic 指令的影响。

auth_basic_user_file /usr/local/nginx/conf/htpasswd;}#指定认证的密码文件。

location ~ /\.ht {

deny  all;

}

}

}

时间: 2024-10-09 11:58:48

Nginx配置文件参数详解的相关文章

Nginx 主配置文件参数详解

Nginx 主配置文件参数详解 Nginx 安装完毕后,会有响应的安装目录,安装目录里 nginx.conf 为 nginx 的主配置文件, ginx 主配置文件分为 4 部分,main(全局配置).server(主机设置).upstream(负载均衡 服务器设)和 location(URL 匹配特定位置的设置),这四者关系为:server 继承 main, location 继承 server,upstream 既不会继承其他设置也不会被继承. 一.Nginx 的 main(全局配置)文件 [

Nginx配置文件优化详解

Nginx配置文件优化详解 对nginx进行优化是重点也是难点,这里给出一些常用的优化措施,以及相关参数的所代表的意思.有些参数需要结合公司服务器进行设置. 全局变量的优化: #定义Nginx运行的用户和用户组user  www  www: #启动进程,通常设置成和cpu的数量相等 worker_processes  8: #为每个进程分配cpu. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 

nginx配置参数详解

配置参数详解 user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes 8; 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍于CPU. error_log  logs/error.log;  error_log  logs/error.log  notice;  error_log  logs/error.log  info;  错误日志:存放路径. pid logs/nginx.pid; pid(进程标识符):存放路径

MySQL配置文件参数详解

[client] port = 3307 socket = /usr/local/mysql5_6/mysql.sock default-character-set=utf8 [mysql] prompt = mysql(\\[email protected]\h-\R:\\m:\\s [\\d])> #提示当前数据库操作用户名.库名.时间等 default-character-set=utf8 [mysqld] basedir = /usr/local/mysql5_6 datadir = /

编译安装nginx及参数详解

centos平台编译环境使用如下指令 安装make: yum -y install gcc automake autoconf libtool make 安装g++: yum install gcc gcc-c++ 下面正式开始 --------------------------------------------------------------------------- 一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩. 1.选定源码目录 可以是任

zabbix进程组成结构与zabbix_agentd.conf配置文件参数详解

zabbix进程组成结构,默认情况下zabbix包含5个程序:zabbix_agentd.zabbix_get.zabbix_proxy.zabbix_sender.zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装.下面来分别介绍下他们各自的作用. 进程介绍 zabbix_agentd 客户端守护进程,此进程收集客户端数据,例如cpu负载.内存.硬盘使用情况等 zabbix_get zabbix工具,单独使用的命令,通常在server或者prox

vsftpd配置文件参数详解

vsftpd配置文件详解 1.默认配置: 1>允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES 2>匿名用户使用的登陆名为ftp或anonymous,口令为空:匿名用户不能离开匿名用户家目录/var/ftp,且只能下载不能上传. 3>本地用户的登录名为本地用户名,口令为此本地用户的口令:本地用户可以在自 己家目录中进行读写操作:本地用户可以离开自家目录切换至有权限访问的其他目录,并在权限允许的情况下进行上传/下载. write_en

compose配置文件参数详解

本文介绍compose配置文件参数的使用,熟练编写compose文件 [[email protected] lnmp]# cat lnmp.yaml version: '3' services: nginx: build: /root/docker_demo/nginx/ ports: - "80:80" links: - php:php volumes: - "/www:/usr/local/nginx/html" php: image: php expose:

Hadoop学习(二) Hadoop配置文件参数详解

Hadoop运行模式分为安全模式和非安全模式,在这里,我将讲述非安全模式下,主要配置文件的重要参数功能及作用,本文所使用的Hadoop版本为2.6.4. etc/hadoop/core-site.xml 参数 属性值 解释 fs.defaultFS NameNode URI hdfs://host:port/ io.file.buffer.size 131072 SequenceFiles文件中.读写缓存size设定 范例: <configuration> <property> &