nginx配置属性总结
全局属性
worker_processes 1; worker进程数量,通常配置为与cpu核数相同 默认为1
events属性
worker_connections 1024;服务器与⽤户的⽹络连接,⽐如worker_connections 1024,标识每个workderprocess⽀持的最⼤连接数为1024
http属性
http属性是配置最频繁的部分,虚拟主机的配置,监听端⼝的配置,请求转发、反向代理、负载均衡等,后面配置时再详细讲解
nginx用法总结
反向代理
新增tomcat默认服务并启动。配置如下反向代理,修改http属性下server和location配置为。多个配置可以配置多个location使用9999端口统一代理
server {
listen 9999;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8080;
# root html;
# index index.html index.htm;
}
启动的效果为
file
负载均衡配置
首先除了之前原有的配置一个端口为8081且修改原tomcat默认页面Home元素为8081的tomcat并启动
轮询负载均衡配置
负载均衡的配置需要在http的模块下统一配置upstream属性,轮询负载均衡的配置
upstream roundServer {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
同时在需要配置的路由地址中配置upstream就能实现nginx的负载均衡,例如
location /round {
proxy_pass httP://roundServer/;
}
随后访问http://119.45.52.68:9999/round 就发现8081和8080两个tomcat的配置交替出现
权重负载均衡
默认每个服务的权重是一样的。因此轮询即是一种正常的权重相同的负载均衡
下面将上述配置改为权重不同的配置
upstream roundServer {
server 127.0.0.1:8080 weight=3;
server 127.0.0.1:8081 weight=1;
}
重新访问http://119.45.52.68:9999/round 可以发现8080默认的页面出现三次8081的页面才出现一次
ip_hash负载均衡
每个请求按照ip的hash结果分配,每⼀个客户端的请求会固定分配到同⼀个⽬标服务器处理,可
以解决session问题
upstream roundServer {
in_hash;
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
```
### Nginx的动静分离
由于Nginx很适合用来处理静态资源,所以在实际使用中经常用来直接代理静态资源
代理静态资源配置
```
location /statichtml/ {
root staticData
}
```
此处代理的即是nginx安装目录下staticData/statichtml/下的静态文件。同样的也可以代理盘符下其他目录的文件。路径配置合理即可
>欢迎关注和点赞,以及总结的分类面试题https://github.com/zhendiao/JavaInterview
网友评论