day14.5

day14.5

nginx七层负载-会话共享

# 会话保持相关信息存储
1.cookie
	1.前端开发人员将用户登录信息,保存到浏览器中(开发者工具>applicantion>cookile)
	2.如果仅将用户的登录信息记录在cookile中,随时可以在浏览器中篡改

2.session
	1.后端开发人员,将用户登录信息记录在服务器上(共享存储,某一个文件夹下的某个文件、数据库中、缓存数据库中...)session是对cookie做的加密,保存在服务器上

部署PHPmyadmin

环境准备

主机名 wanip lanip 角色 应用
lb01 10.0.0.5 172.16.1.5 负载均衡 nginx
web01 10.0.0.7 172.16.1.7 PHPmyadmin网站 nginx、PHP
web02 10.0.0.8 172..16.1.8 PHPmyadmin网站 nginx、PHP
db01 10.0.0.51 172.16.1.51 数据库 mariadb

部署PHPmyadmin

# 1.下载phpmyadmin
[root@web01 code]# wgethttp://test.driverzeng.com/Nginx_Code/phpMyAdmin-4.9.0.1-alllanguages.zip

# 2.解压代码
[root@web01 wc]# unzaip phpMyAdmin-4.9.0.1-all-languages.zip 

# 3.添加nginx虚拟主机配置文件
[root@web01 wc]# vim /etc/nginx/conf.d/php.conf 

server{
        listen 80;
        server_name php.wc.com;
        root /wc/php;
        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;
        }
}

# web02进行配置
[root@web02 wc]# vim /etc/nginx/conf.d/php.conf 

server{
        listen 80;
        server_name php.wc.com;
        root /wc/php;
        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@web01 php]# cp config.sample.inc.php config.inc.php
[root@web01 php]# vim config.inc.php 
将第31行的localhost改成自己的数据库IP地址
 31 $cfg['Servers'][$i]['host'] = '172.16.1.51';

# 5.web01的代码发送到web02站点目录下
[root@web01 php]# scp /etc/php-fpm.d/www.conf 172.16.1.8:/etc/php-fpm.d/

# 6.nginx重启
[root@web01 php]# systemctl reload nginx
[root@web02 php]# systemctl reload nginx

报错

# 存放session的目录没有权限
[root@web01 php]# chown -R www.www  /var/lib/php/session
[root@web02 php]# chown -R www.www  /var/lib/php/session

# 使用数据库的用户名和密码登录:之前的WordPress用户名和密码就可以用使用
# 1.连接数据库
[root@db01 ~]# mysql -uroot -p123

# 2.创建一个数据库的新用户
MariaDB [(none)]> grant all on *.* to php@'%' identified by '123';

登录的用户名:php
登录密码:123

添加phpmyadmin

# 1.在负载均衡上添加nginx配置文件
[root@lb01 ~]# vim /etc/nginx/conf.d/php.wc.conf

upstream php.wc.com {
        server 172.16.1.7;
        server 172.16.1.8;
}
server {
        listen 80;
        server_name php.wc.com;

        location /{
                proxy_pass http://php.wc.com;
                include proxy_params;
        }
}

# 2.域名解析到负载均衡
10.0.0.5 php.zls.com


用户的登录信息,session没有做共享

制作session共享

修改Redis配置文件

# 1.在db01上安装Redis数据库
[root@db01 ~]# yum install -y redis

# 2.修改Redis配置文件
  修改第61行内容
  61 bind 0.0.0.0

# 3.启动服务
[root@db01 ~]# systemctl start redis

修改PHP程序配置文件

# 1.修改PHP配置文件
[root@web01 php]# vim /etc/php.ini 
修改以下行数内容
1231 session.save_handler = redis
1264 session.save_path = "tcp://172.16.1.51:6379"
1294 session.auto_start = 1

# 2.修改PHP启动程序配置文件
[root@web01 php]# vim /etc/php-fpm.d/www.conf 
将以上内容注释
395 ;php_value[session.save_handler] = files
396 ;php_value[session.save_path]    = /var/lib/php/session

# 3.将改好的配置文件拷贝到web02上
[root@web01 php]# scp /etc/php.ini 172.16.1.8:/etc/
[root@web01 php]# scp /etc/php-fpm.d/www.conf 172.16.1.8:/etc/php-fpm.d/

# 4.重启PHP
[root@web01 php]# systemctl reload php-fpm
[root@web02 php]# systemctl reload php-fpm
posted @   Gabydawei  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示