zoukankan      html  css  js  c++  java
  • 如何实现会话共享------以可道云为例

    一、环境部署

    10.0.0.7  172.16.1.7    web01

    10.0.0.8  172.16.1.8   web02

    10.0.0.5 172.16.1.5     lb01

    10.0.0.6  172.16.1.6   redis

    二、操作部署

    1.在web两个节点上进行安装配置可道云

    web01上

    1)下载好可道云的代码,并属好身份

    #下载可道云的软件包
    [root@web01 ~]#wget http://static.kodcloud.com/update/download/kodexplorer4.40.zip [root@web01~]#mkdir /code/kode [root@web01 ~]#unzip -d /code/kode #创建运行的身份 [root@web01 ~]#groupadd -g 666 www [root@web01 ~]#useradd -g 666 -u 666 www [root@web01 ~]#chown -R www.www /var/lib/php/ [root@web01 ~]#chown -R www.www /code/kode

    2)配置nginx,并启动

    [root@web01 code]# cat /etc/nginx/conf.d/kode.ld.com.conf
    server {
        listen 80;
        server_name kode.ld.com;
        root /code/kode;
    
        location / {
            index index.php;
        }
    
        location ~ .php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    [root@web01 code]# nginx -t
    [root@web01 code]# systemctl reload nginx

    3)做好域名解析
    10.0.0.7  kode.ld.com
    4)测试访问
    在浏览器上进行访问:kode.ld.com ,然后进行设置用户名及密码,这时本服务器已经记录了自己的sessionID号码。

    web02上

    将web01的操作推送一份给web02,一模一样的
    1)下载解压安装,并做好身份的修改

    [root@web02 ~]#chown -R www.www /code

    2)推送一份nginx的配置

    [root@web01 code]#scp /etc/nginx/conf.d/kode.ld.com.conf root@172.16.1.8:/etc/nginx/conf.d/kode.ld.com.conf

    3)启动

    4)域名解析

    10.0.0.8  kode.ld.com

    5)测试

    在浏览器访问kode.ld.com 然后进行设置用户名及密码,这时本服务器已经记录了web02的sessionID号码。

    2.接入负载均衡

    1)配置负载均衡

    [root@lb01 ~]# cat /etc/nginx/conf.d/proxy_kode.ld.com.conf
    upstream kode {
        server 172.16.1.7:80;
        server 172.16.1.8:80;
    }
    
    server {
        listen 80;
        server_name kode.ld.com;
    
        location / {
            proxy_pass http://kode;
            include proxy_params;
        }
    }
    

    2)启动

    [root@lb01 ~]#nginx -t
    [root@lb01 ~]#systemctl restart nginx

    3)域名解析

    10.0.0.5  kode.ld.com

    4)测试

    在浏览器上进行访问code.ld.com可以进入登录可道云的界面,但是却无法输入用户名和密码进行登录。
    这就需要借助我们的Redis来记录web登录时记录的sessionID,以此达到会话共享的目的。

    3.将存储在本地的Session,让其存储在Redis中。

    安装、配置、启动

    1.安装Redis
     [root@redis ~]# yum install redis -y
    
    2.配置 Redis (这个IP地址是本机的内网IP地址)
    [root@redis ~]# sed -i '/^bind/c bind 127.0.0.1 172.16.1.6' /etc/redis.conf
    
    3.启动Redis
    [root@redis ~]# systemctl start  redis
    [root@redis~]# systemctl enable redis
    [root@redis ~]# netstat -lntp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 172.16.1.51:6379        0.0.0.0:*               LISTEN      8966/redis-server 1

    4.修改( web01 web02 ) php程序,将原本存储至本地的SessionID,修改为存储至远程的Redis服务器

    PS:所有的web节点都需要操作一遍的。

    #修改存储session的位置
    [root@web02 ~]# vim /etc/php.ini session.save_handler = redis session.save_path = "tcp://172.16.1.6:6379?weight=1&timeout=2.5" #连接redis #注释php-fpm中控制session存储的路径 [root@web02 ~]# vim /etc/php-fpm.d/www.conf ;php_value[session.save_handler] = files ;php_value[session.save_path] = /var/lib/php/session #重启php-fpm [root@web02 ~]# systemctl restart php-fpm

    5.测试访问

    再次在浏览器上访问kode.ld.com 然后发现输入用户名及密码已经登录成功了。达到了会话共享的目的。

  • 相关阅读:
    Convert Sorted Array to Binary Search Tree数组变成高度平衡的二叉树
    695. Max Area of Island最大岛屿面积
    257. Binary Tree Paths返回所有深度优先的遍历
    112. Path Sum二叉树路径和
    对称二叉树 · symmetric binary tree
    100. Same Tree同样的树
    计数排序 (Counting Sort)
    基数排序 (Radix Sort)
    Linux 文件基本属性
    gensuitemodule (Mac OS) – Python 中文开发手册
  • 原文地址:https://www.cnblogs.com/llddhh/p/12852987.html
Copyright © 2011-2022 走看看