一、Nginx的介绍
1.什么是Nginx
Nginx是一款轻量级的Web 服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器
2.什么是反向代理?
正向代理: 用于代理内部网络对internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端。
所谓的正向代理就是代理服务器替代访问方【用户】去访问目标服务器【服务器】
反向代理: 与正向代理相反, 反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器
所谓的反向代理就是代替服务器接受用户的请求,从目标服务器中取得用户的需求资源,然后发送给用户
3.什么是负载均衡?
负载均衡就是将请求平均分发在多台服务器上执行。
4.什么是动静分离?
动静分离:将静态的资源放到反向代理服务器,节省用户的访问时间
简单来说,就是把动态
和静态
请求分开,这里所说的不是将动态页面
和静态页面
物理分离,可以理解为:Nginx
处理静态页面,Tomcat
处理动态页面。
5.负载均衡策略
负载均衡策略 | 说明 |
---|---|
轮询 | 默认 |
weight | 权重方式 |
ip_hash | 依据ip分配方式 |
least_conn | 按连接数 |
fair | 按响应时间 |
url_hash (hash $request_uri) | 依据URL分配 |
6.如何防止session丢失?
1. ip_hash:如果tomcat1挂了,仍然会访问tomcat2
2. session复制:多台tomcat时,复制session非常耗费资源
3. redis:redis和session都是k、V,都能设置过期时间 (推荐使用)
二、Nginx的安装
2.1 安装
a、安装c语言环境
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
b、解压安装包
cd /usr/upload
tar -zxvf nginx-1.10.3.tar.gz
c、设置安装目录
cd nginx-1.10.0
./configure --prefix=/usr/local/nginx
d、编译并安装
make && make install
下载Nginx的地址:nginx: downloadhttp://nginx.org/en/download.html
2.2、启动和关闭
启动:./nginx
关闭:./nginx -s stop
重新加载配置文件:./nginx -s reload