一.nginx命令不生效
nginx命令生效需要在指定目录下:
/usr/local/nginx/sbin
二.nginx配置文件在哪
/usr/local/nginx/conf/nginx.conf
三.反向代理
-
如何实现简单的反向代理?
如www.abc.com 转到反向代理服务器192.111.111.111最终转发到127.0.0.1:8080
先在本地host文件夹中做个域名映射(方便测试)
“在nginx.conf中,http块中将server_name设置为192.111.111.111,再在location中添加 proxy_pass为http://127.0.0.1:8080即可” -
如果是匹配多个路径,监听123端口号呢?
server {listen 123;server_name 192.111.111.111;location ~ /edu/ {proxy-pass http://127.0.0.1:8080;}location ~ /vod/ {proxy-pass http://127.0.0.1:8081;}
}
则在浏览器中只要输入192.111.111.111:123/edu/就会跳转到http://127.0.0.1:8080
输入192.111.111.111:123/vod/就会跳转到http://127.0.0.1:8081
四.负载均衡
一.负载均衡是把发送到代理服务器的请求,均匀的分配到不同的服务单元,使用upstream实现
下方实现的是:“当在浏览器地址栏输入192.111.111.111ip地址后,nginx会将请求均匀转发到8080和8081两个端口上”
upstream myServer {server 192.111.111.111:8080;server 192.111.111.111:8081;
}
server{listen 80;server_name 192.111.111.111;
}
location {proxy_pass http://myServer
}
二.Nginx分配服务器的策略
- 轮询(默认):按照时间顺序逐一分配到不同的服务器
- weight:代表权重策略,默认为1,权重越高被分配的客户端越多
upstream myServer {server 192.111.111.111:8080 weight = 5;server 192.111.111.111:8081 weight = 10;
}
- ip_hash:让访客固定访问一个后端服务器
upstream myServer {ip_hash;server 192.111.111.111:8080;server 192.111.111.111:8081;
}
- fair:后端服务器谁响应时间短,用谁
upstream myServer {server 192.111.111.111:8080;server 192.111.111.111:8081;fair;
}
五.动静分离
nginx将动态请求和静态请求分离,静态请求分配给静态资源服务器,动态请求分配给tomcat服务器
实现方式:“把静态资源独立放在一个服务器上”
nginx如何配置静态资源
- 在linux中的data文件夹下创建www文件夹,里面存放a.html
location /www/{root /data/;index index.html index.htm;
}
那么在浏览器输入192.111.111.111/www/a.html即可出现a.html页面