Nginx
Nginx (engine x) 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器
特點:反向代理 負載均衡 動靜分離…
反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。
正向代理:需要我們用戶手動設置第阿里服務器的ip地址和端口號
負載均衡,英文名稱為Load Balance,是指建立在現有網絡結構之上,並提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。其原理就是數據流量分攤到多個服務器上執行,減輕每台服務器的壓力,多台服務器共同完成工作任務,從而提高了數據的吞吐量。
動靜分離:靜態資源放在Nginx,動態資源放到我們后面的服務器上
用nginx在window上搭建一個集群
用nginx在window上搭建一個集群
- 在F盤下新建兩個目錄 tomcat1 tomcat2
- 修改tomcat1和tomcat2的端口,nginx的端口是80
- 解壓ngix
a) 修改nginx的nginx.conf文件
b) 在location節點下添加反向代理
proxy_pass +代理服務器 例如: proxy_pass http://server_yujia
這只是代理一台服務器
4.代理集群
需要在http節點下添加一個
upstream servlet_yujia{
server 127.0.0.1:8080; tomcat服務器1
server 127.0.0.1:8090; tomcat 服務器2
}
修改location下的反向代理
Proxy_pass http://servlet_yujia
- session共享問題
解決方式一:
Web服務器解決(廣播機制)
注意:tomcat下性能低
修改兩個地;(只能在windows中使用)
- 修改tomcat的server.xml支持共享
2.修改項目的配置文件
-
解決方式二
可以將session的id放入redis中
解決方式三
保證一個ip地址永遠的訪問一台web服務器,就不存在session共享問題了,在linux中使用
在nginx的配置文件中
upsteam中添加 ip_hash;
在linux上搭建集群:
- 先將nginx上傳到linux上
- 在/usr/local下創建目錄nginx,並將文件解壓到此文件夾
- 先編譯nginx
安裝依賴包
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
執行編譯:
先進入nginx的目錄(解壓好的)
執行 ./configure
4 安裝nginx
執行
make
make install
兩個命令
5啟動nginx
cd到nginx目錄下
配置文件conf
啟動nginx
cd到sbin目錄下
執行:
./nginx
查看nginx是否啟動 ps –ef | grep nginx
6.將端口號80添加到防火牆中
/sbin/iptables –I INPUT –p tcp – dport 80 –j ACCEPT
將設置添加到防火牆的規則中
/etc/rc.d/init.d/iptables save
7 修改conf文件,配置和windows一樣