JAVA开发(nginx)

JAVA开发(nginx)_第1张图片

 主要描述下面4个内容:

1.Nginx的正向代理和反向代理

2.Nginx的动静分离

3.Nginx的负载均衡

4.Nginx的配置详解

解释:

Nginx的正向代理:代理的是客户端。

Nginx的反向代理:代理的是服务端。在web服务中,一般都是反向代理,用一个nginx代理服务的统一入口。

将静态资源和动态资源放在不同的URL

JAVA开发(nginx)_第2张图片

 

将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。

server {

listen 80; #监听端口

server_name localhost; #服务器名称

location / { #匹配客户端请求url

root html; #指定静态资源根目录

index index.html; #指定默认首页

}

}

将动态资源指向后端服务接口。

3.Nginx负载均衡:
Nginx给出来三种关于负载均衡的方式:
轮询法(默认方法):
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
适合服务器配置相当,无状态且短平快的服务使用。也适用于图片服务器集群和纯静态页面服务器集群。
weight权重模式(加权轮询):
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的
情况。
这种方式比较灵活,当后端服务器性能存在差异的时候,通过配置权重,可以让服务器的性能得到充分发挥,有效利用资源。weight和访问比率成正比,用于后端服务器性能不均的情况。权重越高,在被访问的概率越大
ip_hash:
上述方式存在一个问题就是说,在负载均衡系统中,假如用户在某台服务器上登录了,那么该用户第二次请求的时候,因为我们是负载均衡系统,每次请求都会重新定位到服务器集群中的某一个,那么已经登录某一个服务器的用户再重新定位到另一个服务器,其登录信息将会丢失,这样显然是不妥的。
我们可以采用ip_hash指令解决这个问题,如果客户已经访问了某个服务器,当用户再次访问时,会将该请求通过哈希算法,自动定位到该服务器。每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

4.Nginx配置详解:

[root@chensiqi conf]# egrep -v "#|^$" nginx.conf #去掉包含#号和空行的内容
worker_processes  1; #worker进程的数量
error_log  logs/error.log;  #错误日志(默认没开)
pid        logs/nginx.pid;  #进程号(默认没开)
events {    #事件区块开始
    worker_connections  1024;   #每个worker进程支持的最大连接数
}           #事件区块结束
http {      #http区块开始
    include       mime.types;   #Nginx支持的媒体类型库文件包含
    default_type  application/octet-stream; #默认的媒体类型
    sendfile        on;     #开启高效传输模式
    keepalive_timeout  65;  #连接超时。
    server {      #网站配置区域(第一个server第一个虚拟主机站点)
        listen       80;    #提供服务的端口,默认80
        server_name  www.chensiqi.org; #提供服务的域名主机名
        location / {    #第一个Location区块开始
            root   html;  #站点的根目录(相对于nginx安装路径)
            index  index.html index.htm; #默认的首页文件,多个用空格分开
        }
        error_page 500 502 503 504  /50x.html;  #出现对应的http状态码时,使用50x.html回应客户
        location = /50x.html {  #Location区块开始,访问50x.html
            root   html;     #指定对应的站点目录为html
        }
    }
    server {      #网站配置区域(第二个server第二个虚拟主机站点)
        listen       80;    #提供服务的端口,默认80
        server_name  bbs.chensiqi.org; #提供服务的域名主机名
        location / {    #服务区块
            root   html;  #相对路径(nginx安装路径)
            index  index.html index.htm;
        }
        location = /50x.html { #发生错误访问的页面
            root   html;
        }
    }
}


 

你可能感兴趣的:(java,nginx,java,运维)