大大饭

导航

使用Nginx_02

  反向代理

    代理:

  

 

 

  

 

 

    

 

 

       location配置一下

        

       proxy_pass  关键字,指向了代理地址

 

      

 

 

 

 

 

  用户认证访问 

    模块ngx_http_auth_basic_module 允许使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问。

      location ~ (.*)\.avi$ {
        auth_basic "closed site";
        auth_basic_user_file conf/users;
      }

       就能弹出一个认证

      

 

 

  upstream关键字

        

    

 

    porxy_pass 是把请求中转到后台上,具体中转到后台的哪要写,http:// 是协议,后边是主机名和端口号。

        tomcats就是这个变量。上面的两个server是轮询。从server里找到值,然后接上。当然后面还有属性可以设置

      :下面来设置不同的属性

 

        基本就是轮询的

        ===========================

        

        ===========================

        

        ===========================

        

 

 

 

 

 

健康检查模块

  配置一个status的location    

      location /status {
        check_status;
      }

 

  在upstream配置如下

   check interval=3000 rise=2 fall=5 timeout=1000 type=http;
   check_http_send "HEAD / HTTP/1.0\r\n\r\n";
   check_http_expect_alive http_2xx http_3xx;

 

session共享

  Memcached

    安装

  • 安装libevent

  • 安装memcached

    可以用yum方式安装 yum –y install memcached

    启动memcached

memcached -d -m 128 -u root -l 192.168.43.151 -p 11211 -c 256 -P /tmp/memcached.pid

memcached-tool 192.168.163.66:11211

参数解释:
-d:后台启动服务
-m:缓存大小
-p:端口
-l:IP
-P:服务器启动后的系统进程ID,存储的文件
-u:服务器启动是以哪个用户名作为管理用户

  

Nginx配置下:配置两个Tomcat地址就行

upstream tomcat{
server 192.168.2.52:8080;
server 192.168.2.53:8080;
}

location /tomcat {
proxy_pass http://tomcat/;
}

   

 

      在把Tomcat都配置了:

  到tomcat的lib下,jar包见附件

  每个tomcat里面的context.xml中加入

    

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.163.66:11211"
sticky="false"
lockingMode="auto"
sessionBackupAsync="false"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>

    实际就是把session存在一个地方

    

 

 

 

 

 

 

http_proxy 本地磁盘缓存

    硬伤是用的磁盘存储

    

 

 

 

 

 

  时间问题

    service ntpd status

 

    两台机器的时间相差太大,导致session过期了

  

 

 

 

虚拟目录

  location /www {
    alias /var/data/www1;
    index index.html index.htm a.html;
  }

   alias 是配置虚拟目录的

    root  最多只能一个

    

 

 

 

动静分离

    

 

 

 

 

 

 如何给nginx增加新的模块

      

 

      解压好这个模块插件,拿到目录

 

       

      

 

 

       make clean 清理objs文件

      

 

      配置

      然后make编译

 

       

//====================================================================================================================

  如果要新增模块而不改变原有模块的配置。那么上面 --add-module的时候把之前的module都放进去                     ||

                ||

 

    在将这个nginx 拷贝过去

     不要make install就行了                                                    ||

//====================================================================================================================

 

 

 

      在看原本有哪些模块

      make install 

      

 

      旧的模块就被覆盖掉了

 

 

 

      

 

 

 

   

 

posted on 2021-05-18 11:20  大大饭  阅读(48)  评论(0编辑  收藏  举报