Nginx 配置文件详解,nginx.conf配置文件

一、nginx配置文件的基础结构

#全局配置------------------------------------------------------------------------
...              

#events 配置--------------------------------------------------------------------
events {
   ...
}
#http 配置----------------------------------------------------------------------
http
{
	#http 全局配置
    ...
    #server 全局配置
    server
    { 
    	#server全局配置
        ...       
        #location配置
        location [PATTERN]   
        {
            ...
        }
    }
}

二、nginx常见模块简要解释

http

  • http块是Nginx服务器配置中的重要部分,代理、缓存和日志定义等绝大多数的功能和第三方模块的配置都可以放在这模块中。作用包括:文件引入、MIME-Type定义、日志自定义、是否使用sendfile传输文件、连接超时时间、单连接请求数上限等。

server

  • server块,虚拟主机(虚拟服务器)。作用:使得Nginx服务器可以在同一台服务器上只要运行一组Nginx进程,就可以运行多个网站。

location

  • location块是server块的一个指令。作用:基于Nginx服务器接收到的请求字符串,虚拟主机名称(ip,域名)、url匹配,对特定请求进行处理。

三、nginx配置参数解析

四、nginx配置文件举例

常用的nginx配置文件

#指定nginx运行的用户及用户组
#user  nobody;

#进程数
worker_processes  1;	

#nginx.pid文件路径
pid  logs/nginx.pid;	


events {
	#单个进程的连接数
    worker_connections  1024;		
}


http {
	#引入mime.types
    include       mime.types;	
	
	#设置输出文件类型,默认为text/plain
    default_type  application/octet-stream;					
	
	#error.log文件路径
	error_log  logs/error.log;
	
	#access_log日志格式
	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文件路径
	access_log  logs/access.log  main;

	#保持连接时间
    keepalive_timeout  65;	

    server {						
		#监听端口
        listen       80;		
		#服务名
        server_name  www.ljj.com;		
		
		
	    location / {
            root   html;
            index  index.html index.htm;
        }
		
		location = /api1/ {	
			proxy_pass http://localhost:8001/;
        }
		
		#500类型错误处理
        error_page   500 502 503 504  /50x.html;
		#映射文件50x.html
        location = /50x.html {	
			#相对路径
            root   html;
        }
    }
}

详细的nginx配置文件


#指定nginx运行的用户及用户组
#user  nobody;

#全局生效,配置允许生成的worker processes(工作进程)数
worker_processes 1; 

#nginx.pid文件路径
pid  logs/nginx.pid;                                

events {
	#在events部分中生效,单个业务进程可接受连接数
	worker_connections 1024;                          
}

#以下指令在http部分中生效,引入其他的配置文件(这里引入mime.types)
http {

	#引入mime.types
	include mime.types;
  
	#设置输出文件类型,默认为text/plain
	default_type application/octet-stream;	
  
	sendfile on;			# 开启高效文件传输模式
  
	keepalive_timeout 65;		# 保持连接时间
  
	#error.log文件路径
	error_log  logs/error.log;
	
	#access_log日志格式
	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文件路径
	access_log  logs/access.log  main;
	
	#一个进程最大文件描述符数目
	#worker_rlimit_nofile 65535
  
	#以下指令在http的server部分中生效
	server {     
  
		# Nginx监听服务器的端口号
		listen 80;			
		#服务名
		server_name localhost;		
		
		# 以下指令在http/server的location中生效,location是我们域名或者主机名后面跟的子目录或者路径
		location / {            
		  #root目录指的是当当前的location匹配上之后,我们从哪个目录下去帮他找相应的网页。也就是一个主机下面可以配置多个location,可以配置到不同的目录下互相还不影响。root后面跟的html指的是相对路径
		  root html;			
		  #如果当前location下没有对应的静态文件,那么就默认展示这两个文件,即index.html和index.htm
		  index index.html index.htm;	
		}
		#报错之后返回这些报错页面。
		error_page 500 502 503 504 /50x.html;	
		#同一端口下的同级location映射
		location - /50x.html {		
		  root html;
		}

		location ~ \.php$ {
			root html;
			fastcgi_pass 127.0.0.1:9000;
			fastcgi_index index.php;
			fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
			include fastcgi_params;
		}
	}
}

参考文档

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值