Nginx教程

nginx配置

本文主要是介绍nginx配置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- nginx反向代理:
```
server{
	listen 80;
    server_name localhost;
    location / {
    	proxy_pass http://192.168.12.50:8080;
    }
}
```
- nginx的location路径映射
> 优先级关系(location = )> (location/xxx/yyy/zzz) > (location ^~) > (location/起始路径) > (location /)

	1. = 匹配
    location = / {
    	#精准匹配,主机名后面不能带任何字符串
    }
    
    2.通用匹配
    location /xxx {
    	#匹配所有以/xxx开头的路径
    }
    
    3.正则匹配
    location ~ /xxx{
    	#匹配所有以xx开头的路径
    }
    
    4.~*\.php${
    	#匹配以php结尾的文件
    }
    
- nginx的负载均衡

> nginx提供三种负载均衡策略:
    	
        1.轮询:
        	将客户端发起的请求,平均分配给一台服务器
        2.权重:
        	将客户端的请求,更具服务器权重直不同,分配不同的数量
        3.ip hash:
        	基于发起请求的客户端ip地址不同,始终将请求发送到指定服务器上

	实例:
    	1.轮询()
        upstream //自定义名字{
        	server ip:port;
            server ip:port;
            ...
        }
			server {
    			listen       80;
    			server_name  localhost;
				
                location / {
                	proxy_pass http://upstream的名字/;
                }
    }

		2.权重()
        upstream //自定义名字{
        	server ip:port weight=10;
            server ip:port weight=2;
            ...
        }
			server {
    			listen       80;
    			server_name  localhost;
				
                location / {
                	proxy_pass http://upstream的名字/;
                }
    }
    
    	3.ip_hash()
        upstream //自定义名字{
        	ip_hash
        	server ip:port ;
            server ip:port ;
            ...
        }
			server {
    			listen       80;
    			server_name  localhost;
				
                location / {
                	proxy_pass http://upstream的名字/;
                }
    }

- nginx动静分离



- nginx集群搭建

- nginx原理

	一个master和多个work的好处(争抢机制)
		1.可以使用nginx -s reload热部署    
    	2.每个work都是独立的进程,其中一个work挂掉,其他work可以继续提供服务
        
	

- blog项目nginx配置文件实例
```
	server {
    listen       80;
    server_name  localhost;

    root   /usr/share/nginx/html/blog4/public;
        index  index.html   index.php  index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

   
    location ~ \.php$ {
         
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/html/blog4/public$fastcgi_script_name;
        include        fastcgi_params;
    }  
}
这篇关于nginx配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!