Nginx七层负载—会话共享

Nginx七层负载—会话共享

会话保持相关信息存储

cookie:
	前端开发人员将用户登录的信息,保存到浏览器中,如果仅将用户的登录信息记录在Cookie中,那么可以在浏览器中随意更改
session:
	后端开发人员将用户登录信息记录在服务器上,session是对cookie做的加密,保存在服务器中

部署phpMyadmin的session共享

环境准备

主机名 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、redis

1.部署phpmyadmin网站(web01,web02)

1.编写nginx虚拟主机配置文件
[root@web01 /etc/nginx/conf.d]# vim /etc/nginx/conf.d/php.ji.com.conf
server{
        listen 8000;
        server_name php.jl.com;
        root /php/phpmyadmin;
        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 /etc/nginx/conf.d]# vim /etc/nginx/conf.d/php.ji.com.conf
server{
        listen 8000;
        server_name php.jl.com;
        root /php/phpmyadmin;
        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;
        }
}
2.创建站点目录
mkdir /php
3.下载代码到站点目录下
wget http://test.driverzeng.com/Nginx_Code/phpMyAdmin-4.9.0.1-all- languages.zip
4.解压代码
5.给解压好的代码目录改名
 mv phpMyAdmin-4.9.0.1-all-languages phpmyadmin
6.将站点目录下的案例配置文件改名
[root@web01 /php]# cp phpmyadmin/config.sample.inc.php phpmyadmin/config.inc.php
7.修改代码连接数据库的配置文件
vim phpmyadmin/config.inc.php
 31 $cfg['Servers'][$i]['host'] = '172.16.1.51';
8.启动nginx
systemctl start nginx
9.将web01的代码发送到web02站点目录下
10.授权存放session的目录
chown www:www /var/lib/php/session

添加phpmyadmin的负载均衡(lb01)

1.在负载均衡上添加nginx配置文件
[root@lb01 ~]# vim /etc/nginx/conf.d/php.jl.com.conf
uupstream php.jl.com {
        server 172.16.1.7:8080;
        server 172.16.1.8:8080;
}
server{
        listen 80;
        server_name php.jl.com;

        location /{
                proxy_pass http://php.jl.com;
                proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
                include proxy_params;

        }

}
2.将域名解析到负载均衡
10.0.0.5 php.jl.com

制作session共享(db01)

# redis服务的端口为6379
1.安装redis数据库
yum install -y redis
2.修改redis配置文件
61 bind 0.0.0.0
3.启动服务
systemctl start redis
4.修改php程序的配置文件(web01)
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启动程序配置文件
vim /etc/php-fpm.d/www.conf 
将这两行加入注释
395 ;php_value[session.save_handler] = files
396 ;php_value[session.save_path]    = /var/lib/php/session
ion
6.重启php
systemctl restart php-fpm
7.将改好的配置文件拷贝到web02中
8.重启web02的php

浏览器访问

posted on 2022-06-17 16:12  jilei  阅读(74)  评论(0)    收藏  举报