nginx学习笔记四

一.构建memcached+LNMP服务器A,web主机:B
用客户端C访问 服务器A,由A调度到B,B将数据信息储存在A中的服务器中
服务器A准备:
1.安装nginx并开启服务
2.安装memcached并开启服务
服务器A中Nginx.conf配置准备:
1.添加local ~* .php$ {
proxy_pass http://www.B.com;
root html
}
web主机B准备:
1.安装nginx并开启服务
2.安装php php-fpm开启服务(用于解析php代码) php-pecl-memcache(用于连接memcache数据库)
web主机B中Nginx.conf配置准备:
1.添加local ~* .php$ {
root html
fastcgi_pass 127.0.0.1:9000; //此端口为php-fpm服务
fastcgi_index test.php;
include fastcgi.conf;
}
web主机B中的php文件为:
<?php
$memcache=new Memcache; //创建memcache对象
$memcache->connect(‘192.168.2.5’,11211) or die (‘could not connect!!’);
$memcache->set(‘key’,‘test’); //定义变量
g e t v a l u e s = get_values= memcache->get(‘key’); //获取变量值
echo $get_values;
?>
最后用客户端C访问:
firefox http://www.A.com

二.PHP实现session共享
问题:在使用调度器的时候,会出现这样的场景,假设用户进行账户登录,然后访问A,A再使用调度,就会出现上一秒刚登录完,下一秒由于调度的关系,又得重新登录,因为主机无法识别,所以这时就需要将用户登录完成之后的session信息,存入到服务器A中服务器,这样每次登录完成之后,就会在服务器A数据库中包含你的信息,再次调度时就实现了无差别调度
环境如 一
服务器A
web主机B ,C
在B,C中修改php-fpm配置文件/etc/php-fpm.d/www.conf
修改后效果如下:
php_value[session.save_handler] = memcache //定义Session信息存储在公共的memcached服务器上,主机参数中为memcache(没有d)
php_value[session.save_path] = “tcp://192.168.2.5:11211” //通过path参数定义公共的memcached服务器在哪(服务器的IP和端口)
配置完成之后重启服务

猜你喜欢

转载自blog.csdn.net/weixin_42917630/article/details/88029142
今日推荐