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
浏览器访问
![]()