Nginx
别人的笔记:https://www.cnblogs.com/knowledgesea/category/789005.html
一句话总结正向代理反向代理:
正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见;(VPN)
而反向代理是代理服务器端,为服务器收发请求,使真实服务器对客户端不可见。
假的目录
1、
(1)是什么,能做什么
(2)反向代理
(3)负载均衡
(4)动静分离
2、安装 命令 配置文件
3、 配置案例1.反向代理
配置案例2.负载均衡
配置案例3.动静分离
高集群
别人的安装笔记:https://www.cnblogs.com/jimisun/p/8057156.html
我的安装笔记 : https://www.cnblogs.com/Lemonades/p/11578457.html
配置文件
分为三部分:
全局快:影响Nginx整体运行的配置,
events块:影响nginx与用户的网络连接,
http块: 配置反向代理,负载均衡,动静分离;
http全局块:文件引入,MIME-TYPE定义,日志定义,连接超时时间,单链接时间上限;
server块
全局server:
location块:
配置案例1.反向代理 --将nginx代理到tomcat
修改:
server_name www.anitano.cn;
在location添加 proxy_pass http://localhost:8080;
重启,验证 ./nginx -s reload
配置案例2.反向代理 --将nginx代理到不同tomcat1 tomcat2
输入:http://www.anitano.cn:8888/nav/index1.html 访问 (我使用了域名,没有域名使用 IP地址)
nginx监听8888端口,当 ~ 正则表达式匹配到 /nav/ 时,将请求 转发到 http://localhost:8080 ,端口号为8080的服务器。 注意:项目名要和 正则表达式一致为 nav
server{ listen 8888; server_name anitano.cn; location ~ /nav/{ proxy_pass http://localhost:8080; } location ~ /nav2/{ proxy_pass http://localhost:8081; } }
正则表达式:
1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配 成功,就停止继续向下搜索并立即处理该请求。 2、~:用于表示 uri 包含正则表达式,并且区分大小写。 3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。 4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字 符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。 注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。
配置案例3.负载均衡 --使用两台服务器,根据算法,对请求进行分配
在http块添加
upstream myserver{ server localhost:8080; server localhost:8081; }
在localtion添加(修改)proxy_pass
proxy_pass http://myserver;
注:几个分配策略
1、轮询(默认):根据时间,将请求分配到不同的服务器
2、热备:backup 当服务器 8081 停机后,就会使用 8080 的服务器
upstream myserver{ server localhost:8080 backup; server localhost:8081; }
3、加权轮询:给服务器加权重,8081被访问的次数较多 ABBABBABB
upstream myserver{ server localhost:8080 weight=1; server localhost:8081 weight=2; }
4、ip_hash :根据IP的地址,访问相对应的服务器,可以解决 session的问题
upstream myserver{ ip_hash; server localhost:8080; server localhost:8081; }
5、fail 第三方,根据响应时间来分配,写法类似ip_hash
配置案例4.动静分离 ---- 请求地址 www 或 image ,然后会到 root 的 /data/ 找到对应的 路径(请求地址不包含 data)
访问html:http://anitano.cn/www/index1.html
访问图片:http://anitano.cn/image/cell.png
location /www/ { root /data/; index index.html index.htm; } location /image/ { root /data/;#添加 autoindex on; 可以有一个索引目录 }
注: 常用操作
编辑配置文件: vim /usr/local/nginx/conf/nginx.conf
重新加载配置文件:./nginx -s reload
到主命令文件:cd /usr/local/nginx/sbin/