Nginx反向代理以及负载均衡配置

参考: 

https://www.cnblogs.com/Miss-mickey/p/6734831.html

https://blog.csdn.net/jackliu16/article/details/79444327

 

一: 关于正向代理和反向代理:   http://www.cnblogs.com/Anker/p/6056540.html 很形象,好玩哈哈

正向代理中,proxy和client同属一个LAN(局域网),对server透明;
反向代理中,proxy和server同属一个LAN,对client透明。
实际上proxy在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把后出现的那种代理方式叫成了反向代理。

正向代理的用途:

  (1)访问原来无法访问的资源,如google

          (2) 可以做缓存,加速访问资源

  (3)对客户端访问授权,上网进行认证

  (4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理的作用:

   (1)保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击. 

(2)负载均衡,通过反向代理服务器来优化网站的负载.

nginx配置:  遇到之后在多补充

user  www www;  #指定Nginx Worker进程运行用户以及用户组  可不设置 这样用户都可以启动nginx服务
 
worker_processes 2; #指定了Nginx要开启的进程数,多核CPU指定和核数一样多的进程数
 
pid        logs/nginx.pid; #指定进程id的存储文件位置
 
worker_rlimit_nofile 65535; #指定单进程打开文件数,需与系统设定一致
 
 
 
events {
 
    use epoll;  #指定nginx工作模式,nginx主要的工作模式有select、poll、kqueue、epoll
 
#其中select、poll是标准工作模式,kqueue、epoll为高效工作模式,epoll用在Linux系统中,而kqueue用在#BSD系统中
 
    worker_connections  65535;#指定单进程的最大连接数
 
}
 
 
 
HTTP部分
 
 
 
http {
 
    include      mime.types; #指定配置文件所包含的文件
 
    default_type  application/octet-stream; 
#指定默认类型为二进制流,也就是当文件类型未定义时使用这种方式,例如在没有配置PHP环境时,Nginx是不予#解析的,此时,用浏览器访问PHP文件就会出现下载窗口
 
 
 
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#设定日志格式
 
                      '$status $body_bytes_sent "$http_referer" '
 
                      '"$http_user_agent" "$http_x_forwarded_for"';;
 
 
    client_max_body_size  20m;  #设置允许客户端请求的最大的单个文件字节数
 
    client_header_buffer_size  16k;#指定来自客户端请求头的headerbuffer大小,如果自定义了消息头或有更大的cookie,可以在这里增加缓冲大小
 
    large_client_header_buffers  4 32k;#指定客户端请求中较大的消息头的缓存最大数量和大小,4为个数,32k为大小,最大缓存为4个32kb
 
 
 
    sendfile     on;#开启高效传输模式
 
    tcp_nopush    on;  # tcp_nopush,tcp_nodelay设置on,防止网络阻塞
 
    tcp_nodelay    on;         
 
   
 
    keepalive_timeout  65; #指定客户端连接保持活动的超时时间
 
    client_header_timeout  10;#说明 指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1).仅当在一次read中,没有收到请求头,才会算成超时。如果在超时时间内,client没发送任何东西,nginx返回HTTP状态码408(“Request timed out”)  是从什么时候开始等???
 
    client_body_timeout  10;#说明 该指令设置请求体(request body)的读超时时间。仅当在一次readstep中,没有得到请求体,就会设为超时。超时后,nginx返回HTTP状态码408(“Request timed out”)
 
    send_timeout  10;#指定客户端的响应超时时间。这个设置不会用于整个转发器,而是在两次客户端读取操作之间。如果在这段时间内,客户端没有读取任何数据,nginx就会关闭连接。
 
 
 
 
 
    gzip  on; #开启gzip压缩,实时压缩输出数据流
 
    gzip_min_length  1k; #设置允许压缩的页面最小字节数
 
    gzip_buffers    4  16k; #指定内存空间来存贮压缩结果,这里指定4个单位为16k的内存来存储压缩结果,即总大小为64k
 
    gzip_http_version  1.1;#指定识别HTTP协议版本,默认是1.1
 
    gzip_comp_level  2;#指定gzip压缩比,1 压缩比最小,处理速度最快;9 压缩比最大,传输速度快,但处理最慢,也比较消耗CPU资源
 
    gzip_types  text/plain application/x-javascript text/css application/xml;#指定压缩的类型,无论是否指定,“text/html”类型总是会被压缩
 
    gzip_vary  on;#该选项开启可以让前端的缓存服务器缓存经过gzip压缩的页面,例如,用Varnish缓存经过Nginx压缩的数据
 
 
 
server_tokens off;#隐藏Nginx版本号
 
 
 
server {
 
        listen      8000; #指定Nginx监端口
 
        server_name  localhost;#用来指定IP或者域名
 
 
 
        charset utf-8;#指定Nginx默认的字符集,只有utf-8支持中文字符
 
        access_log  logs/host.access.log  main;#指定访问日志的名称及位置
 
 
 
        location / {
 
            index  index.html index.htm;#设定默认首页
 
            root /tom/webapps/ROOT;#指定网页根目录
 
        }
 
 
 
location ~ (jsp|\?) {      #指定url中包含jsp或者?的全部转发到192.168.0.10的80端口即tomcat处理
 
            proxy_pass  http://192.168.0.10:80;
 
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值