首页 > 数据库 >29、利用 LNMP 实现phpMyAdmin并利用redis会话保持,用页面管理数据库

29、利用 LNMP 实现phpMyAdmin并利用redis会话保持,用页面管理数据库

时间:2023-05-17 21:07:21浏览次数:52  
标签:phpMyAdmin www redis 29 server php root fastcgi

建设第二个网站,利用 LNMP 实现 实现phpMyAdmin并利用redis会话保持,用页面管理数据库
在100web1、200web2上创建网站数据存放目录
[root@ubunt ~]# mkdir /data/php2
进入官网  https://www.phpmyadmin.net/下载
[root@ubunt php2]# wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
[root@ubunt php2]# unzip phpMyAdmin-5.2.0-all-languages.zip  解包
[root@ubunt php2]# ls
phpMyAdmin-5.2.0-all-languages  phpMyAdmin-5.2.0-all-languages.zip  
[root@ubunt php2]# mv phpMyAdmin-5.2.0-all-languages/* .     把目录内的文件移动到ph2目录
[root@ubunt php2]# rm -rf phpMyAdmin-5.2.0-all-languages/    删除目录及安装包
[root@ubunt php2]# rm -rf phpMyAdmin-5.2.0-all-languages.zip 
[root@ubunt ~]# chown -R www-data. /data/php2                修改权限
修改网站配置文件
[root@ubunt ~]# cat /apps/nginx/conf/conf.d/php.conf 
server {
   listen 80;
   server_name www.meng.org;
   root /data/php;
   index index.php;
   location ~ \.php$|ping|php-status {
            root           /data/php;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  HTTPS on;
            include        fastcgi_params;
   }
}

server {                                  此为第二个网站配置文件
   listen 80;
   server_name www.fanchao.org;
   root /data/php2;
   index index.php;
   location ~ \.php$|ping|php-status {
            root           /data/php2;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            #fastcgi_param  HTTPS on;     (如果客户端到反向代理不用https,不用加)
            include        fastcgi_params;
 }
}
nginx -s reload
在反向代理服务器101上面修改配置文件
upstream webservers {
     server 10.0.0.100;
     server 10.0.0.200;
}
server {                                      不用https协议
     listen 80;
     server_name www.fanchao.org;
     index index.php;
     location / {
          proxy_pass http://webservers;
          proxy_set_header Host $http_host;
    }
}
server {
     listen 80;
     server_name www.meng.org;
     root /data/nginx/html/pc;
     access_log /apps/nginx/logs/www.meng.org_access.log main;
     return 302 https://$server_name$request_uri;
}

server {
     listen 443 ssl http2;
      server_name www.meng.org;
      ssl_certificate  /apps/nginx/conf/conf.d/ssl/m50.wangxiaochun.com.pem;
      ssl_certificate_key /apps/nginx/conf/conf.d/ssl/m50.wangxiaochun.com.key;
      ssl_session_timeout 10m;
      location / {
          proxy_pass http://webservers;
          proxy_set_header Host $http_host;
    }
}
nginx -s reload

DNS解析,10.0.0.101 www.fanchao.org,访问www.fanchao.com成功生成MySQL管理登录界面

在100web、200web上拷贝config.sample.inc.php改为config.inc.php
[root@ubunt ph2]# cp config.sample.inc.php config.inc.php
更改config.inc.php,指向要管理数据库的地址
$cfg['Servers'][$i]['host'] = '10.0.0.8';     把localhost改为要管理的数据库地址

在后端MySQL10.0.0.8上创建管理账号
mysql> create user admin@'10.0.0.%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all on *.* to admin@'10.0.0.%';
Query OK, 0 rows affected (0.01 sec)
访问www.fanchao.org    输入账号密码 登陆进去,刷新,会自动退出,并出现Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.
原因是没有会话保持,需要把session放到redis里面
php有一个放session的配置文件,在php里面指定session存放的路径 在100、200web上改
[root@ubuntu2004 php2]#vim /etc/php/7.4/fpm/pool.d/www.conf   最下面添加
php_value[session.save_handler] = redis
php_value[session.save_path]    = "tcp://10.0.0.8:6379"
[root@ubuntu2004 ph2]#systemctl restart php7.4-fpm.service    重启服务
访问www.fanchao.org  输入账号密码 登陆进去,刷新会看到ip在100、200之间变化


标签:phpMyAdmin,www,redis,29,server,php,root,fastcgi
From: https://blog.51cto.com/mfc001/6293617

相关文章

  • 遇到redis主从不一致
    遇到问题:redis拿不到值,但是redis明明添加了值,连的端口不一致,主从不一致现在急需主从一致!谁redis没有,停掉服务 !   ......
  • docker 安装redis遇到的问题
    ocker:Errorresponsefromdaemon:driverfailedprogrammingexternalconnectivityonendpointmyredis(1cd3cedb32fe0bc958bf68043169dc47a823da902c00f2e225d5bba5d20922f6):Errorstartinguserlandproxy:listentcp40.0.0.0:6379:bind:addressalreadyinus......
  • redis中set与setnx区别
    转自:https://www.zhangshilong.cn/work/320344.htmlRedis命令SETNX的使用(包含Java分布式锁实现)可以参考Redis官网对SETNX命令的介绍:https://redis.io/commands/setnxSETNX命令简介命令格式SETNXkeyvalue将key的值设为value,当且仅当key不存在。若给定的key已经存......
  • redis缓存key工具类
    packagestore.b2c.c.utils;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Component;importjava.util.Random;/***门店商品信息*/@ComponentpublicclassStoreProductCacheKeyService{privatestat......
  • 剑指 Offer 29. 顺时针打印矩阵
    题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 限制:0<=matrix.length<=1000<=matrix[i].length <=100   classSolution{publicint[]spiralOrder(intmatrix[][]){if(matrix.length==0)returnnewint[0];......
  • Redis Cluster两slave节点处理
    背景系统:CentOS7.6RedisClusterIP端口角色192.168.100.116380Master192.168.100.116381slave192.168.100.126380Master192.168.100.126381Slave192.168.100.136380Master192.168.100.136381Slave 因为某种原因导致(192.168.100.12)操......
  • 利用redis实现 分布式锁
    利用redis实现分布式锁 1.给需要添加锁的地方添加锁@GetMapping("/get")publicStringtest(HttpServletRequestrequest)throwsInterruptedException{System.out.println("begintodo");StringrequestId=request.getSession().get......
  • redis学习2通用命令--黑马
    key通用操作基本操作delkeyexistskeytypekey扩展操作为指定key设置有效期expirekeysecondspexpirekeymillisecondsexpireatkeytimestamppexpireatkeymilliseconds-timestamp获取key的有效时间(剩余时间)ttlkey(返回-2代表key已消失,返回-1表示存在key,返回其......
  • day 29 勾股数
    1.循环遍历a,b;2.找出a*a+b*b的平方根为整数的情况;3.输出a,b,c #include<iostream>#include<cmath>usingnamespacestd;intmain(){for(inta=1;a<=100;a++){for(intb=1;b<=100;b++){doublec=sqrt(a*a+b*b);if(c==(int)c&&c<=10......
  • Redis使用lua脚本实现库存扣减
    为什么使用Lua脚本为什么能合并多个原子操作?Redis官方文档:https://redis.io/docs/manual/programmability/eval-intro/ Redis保证脚本的原子执行。在执行脚本时,所有服务器活动在其整个运行期间都被阻止。这些语义意味着脚本的所有效果要么尚未发生,要么已经发生。脚本提供了......