phpmyadmin+redis部署——浏览器可视化并管理数据库+解决会话丢失、会话一致性

一、什么是phpmyadmin、redis?
PHPMyAdmin 是一个用 PHP 编写的免费开源 Web 应用程序,专门用于通过浏览器管理和操作 MySQL/MariaDB 数据库。
Redis是一个开源的、基于内存的 键值存储系统,可以用作数据库、缓存和消息代理。
二、会话保持的简述
浏览器端存的是cookie每次浏览器发请求到服务端时,报文头是会自动添加cookie信息的。同一域名下的网站的cookie都是一样的,cookie对应的session也是唯一的。cookie相当于会员卡号,session相当于一个会员档案。当有会话保持时可以引导到会员注册的店,没有会话保持时会被引导到随机一家连锁店面。
三、phpmyadmin部署
【位置:10.0.0.7 主机名为LNMP】
【位置:10.0.0.9 主机名为WEB02】
1.nginx部署phpmyadmin业务
[root@LNMP ~]# vim /etc/nginx/conf.d/phpmyadmin.conf

点击查看代码
server {
        listen 80;
        server_name www.admin.com;
        root /code/admin;

        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;
        }
}

[root@LNMP ~]# nginx -t
[root@LNMP ~]# systemctl restart nginx
[root@LNMP ~]# mkdir /code/admin
[root@LNMP ~]# cd /code/admin #下载软件包到代码目录下
[root@web01 admin]# mv phpMyAdmin-5.2.2-all-languages/* . #移动代码到admin下
[root@LNMP admin]# cp config.sample.inc.php config.inc.php #复制实例文件并改名为生效文件
[root@LNMP admin]# vim config.inc.php #修改指向数据库

点击查看代码
···
$cfg['Servers'][$i]['host'] = '10.0.0.8';
···

[root@LNMP admin]# chown www.www /var/lib/php/session #修改会话存储目录的属主属组为nginx和php的启动用户
2.hosts解析并登录测试
windows解析10.0.0.7 www.admin.com
浏览器访问数据库用户名:wq 密码:wq123456.com
3.WEB02的配置相同(可用scp拉取相同文件)
4.phpmyadmin接入负载均衡 #接入后登录cookie和session不能对应无法登录
[root@LB ~]# vim /etc/nginx/conf.d/admin.conf

点击查看代码
upstream admin {
    server 10.0.0.7:80;
    server 10.0.0.9:80;
}
server {
	listen 80;
	server_name www.admin.com;

	location / {
	proxy_pass http://admin;
	proxy_set_header Host $http_host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_http_version 1.1;

	proxy_connect_timeout 30;
	proxy_send_timeout 60;
	proxy_read_timeout 60;

	proxy_buffering on;
	proxy_buffer_size 32k;
	proxy_buffers 4 128k;
	}
}

[root@LB ~]# systemctl restart nginx
四、部署redis
【位置:10.0.0.11 主机名为LB】
1.部署redis
[root@LB ~]# yum -y install redis #安装redis
[root@LB ~]# vim /etc/redis.conf #更改监听IP并设置密码

点击查看代码
···
bind 127.0.0.1 10.0.0.11
···
requirepass 123456
···

[root@LB ~]# systemctl start redis
[root@LB ~]# systemctl enable redis
2.配置PHP的session指向redis
[root@LNMP ~]# vim /etc/php.ini #修改session会化保存位置

点击查看代码
···
session.save_handler = redis
···
session.save_path = "tcp://172.16.1.51:6379?auth=123456"
···
[root@LNMP ~]# `vim /etc/php-fpm.d/www.conf` #注释session本地保存位置
点击查看代码
···
;php_value[session.save_handler] = files
;php_value[session.save_path]    = /var/lib/php/session
···
3.编译PHP安装连接redis的插件

[root@LNMP ~]# wget https://pecl.php.net/get/redis-5.3.7.tgz #下载redis源码包
[root@LNMP ~]# tar -zxvf redis-5.3.7.tgz #解压
[root@LNMP ~]# cd redis-5.3.7/
[root@LNMP redis-5.3.7]# phpize #为PHP拓展构建环境
[root@LNMP redis-5.3.7]# ./configure #执行phpize命令生成的configure 脚本
[root@LNMP redis-5.3.7]# make && make install #编译安装
[root@LNMP ~]# cd
[root@LNMP ~]# vim /etc/php.ini #开启redis插件功能

点击查看代码
···
extension=redis.so
···

[root@LNMP ~]# php-fpm -t
[root@LNMP ~]# systemctl restart php-fpm
3.主机WEB02和主机LNMP的安装方式相同
4.hosts解析
windows的hosts解析 10.0.0.11 www.admin.com
5.登录测试phpmyadmin(会发现连接ip会发生变化而不退出登录)
6.如何查看session会话
redis-cli #连接到redis本地
AUTH 123456 #输入配置的redis密码
KEYS * #列出所有session会话

posted on 2025-12-11 15:29    阅读(1)  评论(0)    收藏  举报