全局属性
worker_processes 1; worker进程数量,一般配置为与cpu核数相同 默认为1
events属性
worker_connections 1024;服务器与⽤户的⽹络链接,⽐如worker_connections 1024,标识每一个workderprocess⽀持的最⼤链接数为1024
http属性
http属性是配置最频繁的部分,虚拟主机的配置,监听端⼝的配置,请求转发、反向代理、负载均衡等,后面配置时再详细讲解html
新增tomcat默认服务并启动。配置以下反向代理,修改http属性下server和location配置为。多个配置能够配置多个location使用9999端口统一代理nginx
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; }
启动的效果为面试
首先除了以前原有的配置一个端口为8081且修改原tomcat默认页面Home元素为8081的tomcat并启动小程序
负载均衡的配置须要在http的模块下统一配置upstream属性,轮询负载均衡的配置tomcat
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的配置交替出现微信
默认每一个服务的权重是同样的。所以轮询便是一种正常的权重相同的负载均衡
下面将上述配置改成权重不一样的配置session
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结果分配,每⼀个客户端的请求会固定分配到同⼀个⽬标服务器处理,可
以解决session问题spa
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/下的静态文件。一样的也能够代理盘符下其余目录的文件。路径配置合理便可
欢迎搜索关注本人与朋友共同开发的微信面经小程序【大厂面试助手】和公众号【微瞰技术】