一、什么是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"
···
点击查看代码
···
;php_value[session.save_handler] = files
;php_value[session.save_path] = /var/lib/php/session
···
[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会话
浙公网安备 33010602011771号