ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

nginx七层负载—会话共享

2022-06-17 16:05:14  阅读:211  来源: 互联网

标签:phpMyAdmin 会话 0.1 七层 languages nginx web01 php root


nginx七层负载—会话共享

会话保持相关信息存储

cookie
	- 前端开发人员将用户登录的信息保存到浏览器中(开发者工具->Application->Cookies)
	- 如果仅将用户的登录信息记录在Cookie中,随时可以在浏览器中篡改
	
session
	- 后端开发人员,将用户登录信息记录在服务器上(共享存储,某一个文件夹下的某个文件、数据库中、缓存数据库中...)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

部署

# 1.下载phpmyadmin代码
[root@web01 lb]# wget http://test.driverzeng.com/Nginx_Code/phpMyAdmin-4.9.0.1-all- languages.zip

# 2.解压代码
[root@web01 lb]# unzip phpMyAdmin-4.9.0.1-all-languages

# 3.添加虚拟主机配置文件
[root@web01 lb]# vim /etc/nginx/conf.d/lb.zh.com.conf 
server{
        listen 80;
        server_name php.zls.com;
        root /code/lb/phpMyAdmin-4.9.0.1-all-languages;
        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@web02 ~]# vim /etc/nginx/conf.d/lb.zh.com.conf 
server{
        listen 80;
        server_name php.zls.com;
        root /code/lb/phpMyAdmin-4.9.0.1-all-languages;
        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 phpMyAdmin-4.9.0.1-all-languages]# cp  config.sample.inc.php config.inc.php
 
 [root@web01 phpMyAdmin-4.9.0.1-all-languages]# vim config.inc.php              
 
 将第31行的localhost改成自己的数据库的ip地址
 [root@web01 phpMyAdmin-4.9.0.1-all-languages]# vim config.inc.php              
 
 # 5.将web01上的代码发送到web02的站点目录下
 [root@web01 phpMyAdmin-4.9.0.1-all-languages]# scp -r /code/lb/phpMyAdmin-4.9.0.1-all-languages 172.16.1.8:/code/lb/
 
 # 6.修改存放session的目录文件的属组和属主
 [root@web01 phpMyAdmin-4.9.0.1-all-languages]# chown www.www /var/lib/php/sessi 1-all-languages 172.16.1.8:/code/lb/
on -R                      
[root@web02 ~]# chown www.www /var/lib/php/session -R

# 7.启动nginx
[root@web02 ~]# systemctl reload nginx 
[root@web01 phpMyAdmin-4.9.0.1-all-languages]# systemctl reload nginx 

# 8.连接数据库
[root@db01 ~]# mysql -uroot -p123

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

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

添加phpmyadmin的负载均衡

# 1.在负载均衡上添加nginx配置文件
[root@ib01 ~]# vim /etc/nginx/conf.d/lb.zh.com.conf
upstream lb.zh.com {
        server 172.16.1.7:80 max_fails=3 fail_timeout=10s max_conns=100;
        server 172.16.1.8:80 max_fails=3 fail_timeout=10s;
}
server{
        listen 80;
        server_name lb.zh.com;

        location /{
                proxy_pass http://lb.zh.com;
        }
}

# 2.域名解析
10.0.0.5 		lb.zh.com

制作session共享

# redis端口:6379

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

# 2.修改redis配置文件
[root@db01 ~]# vim /etc/redis.conf 
将61行bind后面IP地址改为0.0.0.0
bind 0.0.0.0

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

# 4.修改php程序配置文件
[root@web01 phpMyAdmin-4.9.0.1-all-languages]# vim /etc/php.ini
将1231的内容修改为以下
session.save_handler = redis

在1265行添加以下内容
session.save_path = "tcp://172.16.1.51:6379"

将1295行内容修改为以下
session.auto_start = 1

# 5.修改php启动程序配置文件
[root@web01 phpMyAdmin-4.9.0.1-all-languages]# vim /etc/php-fpm.d/www.conf 

将以下内容加上注释(最后几行)
395 ;php_value[session.save_handler] = files
396 ;php_value[session.save_path]    = /var/lib/php/session

# 6.重启PHP
[root@web01 phpMyAdmin-4.9.0.1-all-languages]# systemctl restart php-fpm 

# 7.将改好的文件拷贝到web02
[root@web01 phpMyAdmin-4.9.0.1-all-languages]# scp /etc/php.ini 172.16.1.8:/etc
/
[root@web01 phpMyAdmin-4.9.0.1-all-languages]# scp /etc/php-fpm.d/www.conf 172.
16.1.8:/etc/php-fpm.d/

# 8.重启web02上的php

标签:phpMyAdmin,会话,0.1,七层,languages,nginx,web01,php,root
来源: https://www.cnblogs.com/ghjhkj/p/16386045.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有