Nginx 主配置文件参数详解

Nginx 主配置文件参数详解

	Nginx 安装完毕后,会有响应的安装目录,安装目录里 nginx.conf 为 nginx 的主配置文件, ginx 主配置文件分为 4 部分,main(全局配置)、server(主机设置)、upstream(负载均衡

	服务器设)和 location(URL 匹配特定位置的设置),这四者关系为:server 继承 main,

	location 继承 server,upstream 既不会继承其他设置也不会被继承。

一、Nginx 的 main(全局配置)文件

	[[email protected] server]# vim /usr/local/nginx/conf/nginx.conf

	user	nginx nginx; //指定 nginx 运行的用户及用户组为 nginx,默认为 nobody

	worker_processes	2; //开启的进程数,一般跟逻辑 cpu 核数一致

	error_log logs/error.log notice; //定于全局错误日志文件,级别以 notice 显示。还有 debug、info、warn、error、crit 模式,debug 输出最多,crit 输出最少,更加实际环境而定。

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

	worker_rlimit_nofile 65535; //指定一个 nginx 进程打开的最多文件描述符数目,受系统进程的最大打开文

	件数量限制

	events {

	use epoll; 设置工作模式为 epoll,除此之外还有 select、poll、kqueue、rtsig 和/dev/poll 模式 worker_connections 65535; //定义每个进程的最大连接数 受系统进程的最大打开文件数量限制

	}

	[[email protected] server]# cat /proc/cpuinfo | grep "processor" | wc –l	//查看逻辑 CPU 核数

	[[email protected] server]# ulimit -n 65535	//设置系统进程的最大打开文件数量

二、Nginx 的 HTTP 服务器配置,Gzip 配置。

	http {

	*****************************以下是 http 服务器全局配置*********************************

	include mime.types; //主模块指令,实现对配置文件所包含的文件的设定,可以减少主配置文件的复杂度,DNS 主配置文件中的 zonerfc1912,acl 基本上都是用的 include 语句

	default_type	application/octet-stream; //核心模块指令,这里默认设置为二进制流,也就是当文件

	类型未定义时使用这种方式

	//下面代码为日志格式的设定,main 为日志格式的名称,可自行设置,后面引用。

	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 logs/access.log main; //引用日志 main client_max_body_size 20m; //设置允许客户端请求的最大的单个文件字节数

	client_header_buffer_size 32k; //指定来自客户端请求头的 headebuffer 大小 client_body_temp_path /dev/shm/client_body_temp; //指定连接请求试图写入缓存文件的目录路径 large_client_header_buffers 4 32k; //指定客户端请求中较大的消息头的缓存最大数量和大小,目前
	设置为 4 个 32KB

	sendfile	on; //开启高效文件传输模式

	tcp_nopush	on; //开启防止网络阻塞

	tcp_nodelay	on; //开启防止网络阻塞

	keepalive_timeout 65; //设置客户端连接保存活动的超时时间 client_header_timeout 10; //用于设置客户端请求读取超时时间 client_body_timeout 10; //用于设置客户端请求主体读取超时时间 send_timeout 10; //用于设置相应客户端的超时时间

	//以下是 httpGzip 模块配置

	#httpGzip modules

	gzip on; //开启 gzip 压缩 gzip_min_length 1k; //设置允许压缩的页面最小字节数

	gzip_buffers 4 16k; //申请 4 个单位为 16K 的内存作为压缩结果流缓存 gzip_http_version 1.1; //设置识别 http 协议的版本,默认是 1.1 gzip_comp_level 2; //指定 gzip 压缩比,1-9 数字越小,压缩比越小,速度越快.

	gzip_types text/plain	application/x-javascript text/css application/xml; //指定压缩的类型

	gzip_vary on; //让前端的缓存服务器存经过 gzip 压缩的页面

三、nginx 的 server 虚拟主机配置

	两种方式一种是直接在主配置文件中设置 server 字段配置虚拟主机,另外一种是使用

	include 字段设置虚拟主机,这样可以减少主配置文件的复杂性。

	*****************************以下是 server 主机设置*********************************

	server {

	listen	80;	//监听端口为 80

	server_name	www.rsyslog.org;	//设置主机域名

	charset gb2312;	//设置访问的语言编码

	access_log	logs/www.rsyslog.org.access.log	main; //设置虚拟主机访问日志的存放路径及日

	志的格式为 main

	location / {	//设置虚拟主机的基本信息

	root	sites/www;	//设置虚拟主机的网站根目录

	index	index.html index.htm; //设置虚拟主机默认访问的网页

	}

	location /status {	// 查看 nginx 当前的状态情况,需要模块 “--with-http_stub_status_module”支

	持

	stub_status on;

	access_log /usr/local/nginx/logs/status.log; auth_basic "NginxStatus"; }
	}

	include /usr/local/nginx/server/www1.rsyslog.org; //使用 include 字段设置 server,内容如下

	[[email protected] ~]# cat /usr/local/nginx/server/www1.rsyslog.org

	server {

	listen	80;

	server_name	www1.rsyslog.org;

	location / {

	root	sites/www1;

	index	index.html index.htm;

	}

	}

	upstream 模块后面负载均衡再做介绍!

  

更多内容请访问 李兴利博客
时间: 2024-10-25 20:17:10

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

Nginx主配置参数详解,Nginx配置网站

1.Niginx主配置文件参数详解 a.Linux中安装nginx.博文地址为:http://www.cnblogs.com/cindy-cindy/p/6847499.html b.当Nginx安装完毕后,会有相应的安装目录,安装目录里的nginx.confg为nginx的主配置文件,nginx主配置文件分为4部分,main(全局配置).server(主机配置).upstream(负载均衡服务器设置)以及location(URL匹配特定位置的设置),这四者的关系是:server继承main,l

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配置文件参数详解

Nginx的配置文件为一个纯文本文件,整个配置文件以块的形式组织.main.events.http.server.location.一个http模块中可以包含多个server模块,同理一个server模块中也可以包含多个location模块.下面为Nginx的示例配置文件. #定义Nginx运行的用户和用户组 user  nobody; #nginx进程数,建议设置为等于CPU总核心数 worker_processes  1; #进程文件 pid nginx.pid; #全局错误日志定义类型,[

vsftpd配置文件参数详解

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

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

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:

zabbix_server.conf配置文件参数详解

本文章主要是对zabbix_server.conf文件内一些参数的解释,有需要可以参考: #分布式节点id号,0代表是独立服务器,默认是被注释掉的 NodeID=0 #zabbix server的监听端口,默认是10051,可以自行修改 ListenPort=10051 #连接的源ip地址,默认为空 SourceIP= #日志文件的存放位置 LogFile=/tmp/zabbix_server.log #日志文件的大小,单位为MB,0表示禁用日志自动rotation,如果日志达到了限制,并且ro

<正则吃饺子> :关于redis配置文件参数详解

来源于网络博文,感谢作者的分享,转载只为学习,方便查找,原文地址:http://blog.csdn.net/ljl890705/article/details/51540427 Redis是一个应用非常广泛的高性能Key-Value型数据库,与memcached类似,但功能更加强大! 本文将按照不同功能模块的方式,依次对各个功能模块的配置参数进行详细介绍. GENERAL ./redis-server /path/to/redis.conf 按照指定的配置文件启动 include /path/t

Mybatis的配置文件参数详解

1.Myatis配置文件主要是mybatis-config.xml 我们来看一下这里的详细的配置和需要注意的地方: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd&