您的位置 首页 nginx

linux 安装phpadmin(phpmyadmin) _session 保存在本地(redis安装)会话保持

WEB01配置server
[root@web01 conf.d]# cat admin.conf
server {
listen 80;
server_name admin.baimei.com;

location / {
root /code/admin;
index index.php index.html;
}

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

[root@web01 conf.d]# nginx -t

[root@web01 conf.d]# systemctl restart nginx
[root@web01 conf.d]# mkdir /code/admin

第二步: 下载代码到/code/admin目录

[root@web01 admin]# wget https://files.phpmyadmin.net/phpMyAdmin/4.8.4/phpMyAdmin-4.8.4-all-languages.zip --no-check-certificate

解压:
[root@web01 admin]# unzip phpMyAdmin-4.8.4-all-languages.zip

将代码移动到admin目录
[root@web01 admin]# mv phpMyAdmin-4.8.4-all-languages/* .

复制一份配置文件:
[root@web01 admin]# cp config.sample.inc.php config.inc.php

修改配置文件连接数据库信息:
[root@web01 admin]# grep 172.16.1.51 config.inc.php
$cfg['Servers'][$i]['host'] = '172.16.1.51';

修改seesion目录权限为www  (session 保存在本地的案例
[root@web01 admin]# ll -d /var/lib/php/session
drwxrwx--- 2 root apache 6 Oct 26 2019 /var/lib/php/session
[root@web01 admin]# chown -R www.www /var/lib/php/session
[root@web01 admin]# ll -d /var/lib/php/session
drwxrwx--- 2 www www 6 Oct 26 2019 /var/lib/php/session

配置完成: 修改windows hosts文件解析到10.0.0.7
10.0.0.7 admin.baimei.com

 

测试是否成功:

mysql -h 10.0.0.51 -ubaimei -p123456 -e 'show databases;'

 

接下做一下 redis 保存 session

WEB02配置: 同步数据
[root@web02 ~]# rsync -avz --delete 10.0.0.7:/etc/nginx/* /etc/nginx/

WEB01打包并拷贝到web02服务器
[root@web01 admin]# tar zcvf admin.tar.gz ./*
[root@web01 admin]# scp admin.tar.gz 10.0.0.8:/code/admin/

WEB02解压:
[root@web02 admin]# tar xf admin.tar.gz
[root@web02 admin]# nginx -t

[root@web02 admin]# systemctl restart nginx

修改seession目录权限

[root@web02 admin]# ll /var/lib/php/session/ -d
drwxrwx--- 2 www www 141 Apr 7 11:55 /var/lib/php/session/

在lb机器上 测试:

加入代理服务器测试会话:
upstream webs {
server 10.0.0.7;
server 10.0.0.8;
}
server {
listen 80;
server_name admin.baimei.com;

location / {
proxy_pass http://webs;
proxy_next_upstream error timeout http_500 http_502 http_503 http_504;

#请求时携带的参数配置
include proxy_params;
}
}
[root@lb01 conf.d]# nginx -t

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

修改windowshosts解析到10.0.0.5 admin.baimei.com

这个时候, 刷新 admin.baimei.com 会时好时坏,连接不上, 原因是 请求的cokie和 session 对不上, 也就是客户端拿着 cokie 可能找到 0.8 上了。

解决方案: 加上redis ,让redis 统一管理:

解决phpmyadmin会话问题:redis安装

1.在DB服务器上安装redis
[root@db01 ~]# yum -y install redis
2.修改监听端口 可以让其他服务器连接 默认只能本地连接
[root@db01 ~]# grep 172.16.1.51 /etc/redis.conf
bind 127.0.0.1 172.16.1.51

3.启动并检查端口:
[root@db01 ~]# sytemctl start redis
[root@db01 ~]# netstat -tnulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1277/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1361/master
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2736/mysqld
tcp 0 0 172.16.1.51:6379

配置php将session写入到redis中
WEB01:

vim /etc/php.ini

1231 session.save_handler = redis
1264 session.save_path = "tcp://172.16.1.51:6379"

注释/etc/php-fpm.d/www.conf 前面加分号注释

 

395 ;php_value[session.save_handler] = files
396 ;php_value[session.save_path] = /var/lib/php/session

 

重启php-fpm
[root@web01 ~]# systemctl restart php-fpm

WEB02: 同步web01数据
[root@web01 ~]# rsync -avz --delete /etc/php.ini 10.0.0.8:/etc/php.ini
root@10.0.0.8's password:
sending incremental file list
php.ini

[root@web01 ~]# rsync -avz --delete /etc/php-fpm.d/www.conf 10.0.0.8:/etc/php-fpm.d/www.conf
www.conf

重启php-fpm
[root@web02 ~]# systemctl restart php-fpm

 

redis查看数据

[root@db01 ~]# redis-cli 
127.0.0.1:6379> keys *
1) "PHPREDIS_SESSION:f96f184460e8ca9dfdc65f3e70cca79c"

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章