nginx使用教程

1、nginx启动

  1. 双击nginx.exe文件
  2. 进入nginx安装路径下执行start nginx 命令
  3. 浏览器输入http://localhost:80,即可看到nginx欢迎页

2、nginx停止

进入nginx安装路径下执行nginx -s stop 命令

3、nginx重新载入配置

进入nginx安装路径下执行 nginx.exe -s reload 命令

注意:每次修改配置文件都需要执行

4、nginx检查配置是否正确

进入nginx安装路径下执行 nginx -t 命令
出现如下结果则证明配置正确
在这里插入图片描述

5、Nginx配置实例

5.1、反向代理

nginx使用教程_第1张图片
随着单个服务器远远不能满足需求时,就出现了一个新名词:分布式部署;
也就是通过部署多台服务器来解决访问人数限制的问题;x宝网站中大部分功能也是直接使用nginx进行反向代理实现的。

5.1.1、修改nginx.conf配置文件

server {
        listen       9001;
        server_name  localhost;
		location ^~ /ser/ {
			proxy_pass http://192.168.10.xxx:xxx/;
		}
    }

参数说明:
1、listen:nginx监听的端口
1、server_name:nginx服务的ip地址或者域名
3、location:配置路由访问信息

location 配置参数:
1、 = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配
成功,就停止继续向下搜索并立即处理该请求。
2、 ~:用于表示 uri 包含正则表达式,并且区分大小写。
3、 ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
4、 ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location块中的正则 uri 和请求字符串做匹配。
注意:如果 uri 包含正则表达式,则必须要有~ 或者 ~*标识。

5.1.2、反向代理测试

浏览器输入:http://localhost:9001/ser/
nginx会将请求分发至代理服务器,完成请求应答。

5.1.3、proxy_pass末尾带斜杠/和不带的区别

  1. proxy_pass末尾有斜杠 / ,proxy_pass不拼接location的路径
    location  /api/ {
    proxy_pass http://127.0.0.1:8000/;
    }
    
    请求地址:http://localhost/api/test
    转发地址:http://127.0.0.1:8000/test
  2. proxy_pass末尾无斜杠 / ,proxy_pass会拼接location的路径
    location  /api/ {
    proxy_pass http://127.0.0.1:8000;
    }
    
    请求地址:http://localhost/api/test
    转发地址:http://127.0.0.1:8000/api/test

5.2、负载均衡

在 nginx 配置文件中进行负载均衡的配置

  1. 在http中添加 upstream ,在upstream 中添加服务列表,设置负载均衡策略
  2. 在location 中指定upstream 名称
    http {
    	.....
    	
    	upstream myservere {
    		server 192.168.10.196:8001 weight=1;
    		server 192.168.10.196:8002 weight=5;
    	}
        server {
            listen       9001;
            server_name  localhost;
    		location / {
    			proxy_pass http://myservere/;
    		}
        }
    }
    

5.2.1、负载均衡策略

  1. 轮询(默认)
    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
  2. weight
    weight 代表权重,默认为 1,权重越高被分配的客户端越多
    指定轮询几率, weight 和访问比率成正比,用于后端服务器性能不均的情况。 例如:
    upstream myservere {
    	server 192.168.10.196:8001 weight=1;
    	server 192.168.10.196:8002 weight=5;
    }
    
  3. ip_hash
    每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。 例如:
    upstream myservere {
    	ip_hash;
    	server 192.168.10.196:8001;
    	server 192.168.10.196:8002;
    }
    
  4. fair(第三方)
    按后端服务器的响应时间来分配请求,响应时间短的优先分配。
    upstream myservere {
    	server 192.168.10.196:8001;
    	server 192.168.10.196:8002;
    	fair;
    }
    

5.3、动静分离

  1. 动静分离指的是将动态请求和静态请求分隔开,然后分别路由到相应的后端服务器。
  2. 通常用户的请求中,一部分需要后台程序处理,例如:查询数据库或者进行一些数据运算,这类请求我们称之为动态请求;还有一部分不需要后台程序处理,如请求 css、html、js、图片等静态资源,这类请求我们称之为静态请求。
  3. Nginx 实现动静分离的基础是它可以根据配置对不同的请求做不同的转发,动静分离有利于提高整个服务器系统的性能。
    nginx使用教程_第2张图片

5.3.1、创建静态资源

  1. 在nginx根目录下创建static文件夹( 与conf文件夹同级 )
  2. 在static文件下创建image、css、js等静态资源文件夹
  3. 在各个静态资源文件下创建静态资源
    例如:创建 aa.png 图片

5.3.2、修改配置文件

server {
        listen       9001;
        server_name  localhost;
		
		#拦截静态请求
		location /img/ {
			root static/;
			autoindex on;
		}
		
		#拦截动态请求
		location /ser/ {
			proxy_pass http://localhost:8001/;
		}
		
    }

测试:
请求静态资源:http://localhost:9001/img/image/aa.png
请求动态资源:http://localhost:9001/ser/nginx/getPage

你可能感兴趣的:(nginx,nginx,服务器,https)