Nginx介紹
Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器
特點(diǎn):
反向代理
負(fù)載均衡
動(dòng)靜分離
等等...
反向代理 :
先來了解正向代理:需要我們用戶,手動(dòng)的設(shè)置代理服務(wù)器的ip和端口號(hào)
反向代理:代理服務(wù)器的,用戶不需要設(shè)置.
負(fù)載均衡:
原理就是數(shù)據(jù)流量分?jǐn)偟蕉鄠€(gè)服務(wù)器上執(zhí)行展懈,減輕每臺(tái)服務(wù)器的壓力翎承,
多臺(tái)服務(wù)器共同完成工作任務(wù)党饮,從而提高了數(shù)據(jù)的吞吐量。動(dòng)靜分離:
將靜態(tài)的資源放到反向服務(wù)器,節(jié)省用戶的訪問時(shí)間.
用nginx在window上搭建一個(gè)集群
-
準(zhǔn)備好兩個(gè)tomcat
新建一個(gè)空項(xiàng)目
test
皮迟,該項(xiàng)目下有一個(gè)主頁index.jsp
授段,可以標(biāo)識(shí)是哪個(gè)服務(wù)器
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
tomcat1<hr>
<%=session.getId() %>
</body>
</html>
導(dǎo)出
war
包部署到tomcat1
將
index.jsp
中的tomcat1<hr>
改為tomcat2<hr>
,導(dǎo)出war包部署到tomcat2
-
由于端口不能相同兜喻,修改tomcat2烹骨,將所有端口加10
啟動(dòng)兩個(gè)tomcat
-
啟動(dòng)
Nginx
翻伺,雙擊nginx.exe
雙擊nginx.exe
之后沒有任何反應(yīng),但是可以查看任務(wù)管理器查看已經(jīng)啟動(dòng)的后臺(tái)的Nginx任務(wù)
-
Nginx默認(rèn)端口80沮焕,所以在瀏覽器直接:http://localhost/ ,進(jìn)入Nginx默認(rèn)主頁
代理一臺(tái)主機(jī)的兩種配置
方式一:-
編輯
nginx-1.6.3\conf\nginx.conf
-
重啟Nginx(結(jié)束Nginx后臺(tái)任務(wù)拉宗,再雙擊
nginx.exe
)峦树,刷新瀏覽器
方式二: -
編輯
nginx-1.6.3\conf\nginx.conf
重啟Nginx,刷新瀏覽器旦事,還是tomcat主頁
-
配置代理兩臺(tái)主機(jī)
為了測試魁巩,配置兩臺(tái)主機(jī)的權(quán)重
-
用多個(gè)瀏覽器訪問多次,就可以看到
tomcat1
和tomcat2
了
但是可以看到兩個(gè)sessionId不一樣姐浮,在實(shí)際開發(fā)中可能會(huì)有問題
session共享問題
解決方案一:只能在window下好使
- web服務(wù)器解決(廣播機(jī)制)
注意:tomcat下性能低
修改兩個(gè)地方:
① 修改tomcat的server.xml 支持共享
將引擎標(biāo)簽下的<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
的注釋去掉
② 修改項(xiàng)目的配置文件web.xml
中添加一個(gè)節(jié)點(diǎn)
在web-app
標(biāo)簽中添加<distributable/>
標(biāo)簽
按照上面兩步配置之后谷遂,重啟兩個(gè)tomcat和nginx
解決方案二:
- redis解決
可以將session的id放入redis中
解決方案三:
- 保證一個(gè)ip地址永遠(yuǎn)的訪問一臺(tái)web服務(wù)器,就不存在session共享問題了,在linux下用這種方式
在nginx的配置文件中
upstream
中添加ip_hash;
用nginx在linux搭建集群
- linux安裝參考:02_FastDFS在Linux上的搭建
- 配置集群和在windows上一致,參考上面步驟