phpMyAdmin基于负载均衡实现会话共享

  • 2019-09-02
  • 0
  • 0

基础lnmp环境请查看: LNMP的YUM安装
phpMyAdmin下载地址:官网下载地址

phpMyAdmin 是一个用PHP编写的,可以通过互联网控制和操作MySQL。通过phpMyAdmin可以完全对数据库进行操作,例如建立、复制/删除数据等等。
有了phpMyAdmin 就可以完全不使用mysql命令,直接使用phpMyAdmin就能管理mysql的所有数据和数据库。

1.上传phpMyAdmin-4.8.4-all-languages.zip并解压到站点目录

[root@nginx code]# unzip phpMyAdmin-4.8.4-all-languages.zip -d ./

2.我这里将解压出来的文件重命名为php,然后进入web目录修改配置文件:

#复制配置模板文件为真正的配置文件
[root@nginx php]#  cp config.sample.inc.php config.inc.php

#修改配置文件:
#大约在31行:修改 = 后面为需要管理数据库的IP地址(远程数据库需填写授权的用户名和密码)
 31 $cfg['Servers'][$i]['host'] = '172.16.1.51';
 保存退出

3.修改nginx配置文件:

[root@ljc html]# vim /etc/nginx/conf.d/php.conf 
server {
        listen 80;
        server_name php.ljc.com;
        root /usr/share/nginx/html/php;

        location / {
                index index.php index.html;
        }

        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

4.创建用于管理的用户

[root@ljc html]# useradd www -M -s /sbin/nologin

5.新开第二台web机器,配置与第一台ljc一样。

#建立用户
[root@ljc-2 ~]# useradd www -M -s /sbin/nologin
[root@ljc-2 ~]# id www
uid=1000(www) gid=1000(www) groups=1000(www)

#拷贝配置文件
[root@ljc-2 ~]# scp -rp root@172.16.1.7:/etc/php-fpm.d/www.conf /etc/php-fpm.d/
[root@ljc-2 ~]# scp -rp root@172.16.1.7:/etc/nginx/* /etc/nginx/

#拷贝站点目录代码
##先在ljc上打包在推送给ljc-2
[root@ljc nginx]# tar czf code.tar.gz html
[root@ljc nginx]# scp code.tar.gz root@172.16.1.8:/usr/share/nginx

#ljc-2解压并修改权限
[root@ljc-2 nginx]# rm -rf html
[root@ljc-2 nginx]# tar xf code.tar.gz  
[root@ljc-2 nginx]# chown www.www html -R

6.配置负载均衡服务器

[root@dl conf.d]# cat proxy_php.ljc.com.conf 
upstream php_pools {
    server 172.16.1.7:80;
    server 172.16.1.8:80;
}

server {
    listen 80;
    server_name php.ljc.com;
    location / {
        proxy_pass http://php_pools;
        include proxy_params;
    }
}

#重启
[root@lb01 conf.d]# systemctl restart nginx

7.解决session会话共享问题,在数据库服务器上安装Redis
(这里数据库和Redis安装在了同一台)

#安装
[root@mysql ~]# yum install redis -y
#修改配置
[root@mysql ~]# sed -i 's#^bind.*#bind 172.16.1.51 127.0.0.1#g' /etc/redis.conf
#重启并加入开机自启
[root@mysql ~]# systemctl start redis
[root@mysql ~]# systemctl enable redis

8.配置应用服务器,连接redis,将session的信息存储至redis数据库中。

#修改信息
[root@ljc ~]# vim /etc/php.ini 
session.save_handler = redis
session.save_path = "tcp://172.16.1.51:6379"

[root@ljc ~]# vim /etc/php-fpm.d/www.conf
;php_value[session.save_handler] = files     ##加注释
;php_value[session.save_path]    = /var/lib/php/session   ##加注释

#重启php-fpm服务
systemctl restart php-fpm

#查看内存数据库信息
[root@db01 ~]# redis-cli 
127.0.0.1:6379> keys *
1) "PHPREDIS_SESSION:550828d66979871058de843f300d5879"

9、访问浏览器查看(登录后重复刷新几次查看效果)
查看1.png
查看2.png

评论

还没有任何评论,你来说两句吧

提供支持 - 友情链接 - 衫小寨